我想配置主机文件来发送基于IP地址+端口的主机请求。
例如:
127.0.0.1:80 www.site1.com
127.0.0.1:8080 www.sitetwo.com因为我让Apache监听端口8080,IIS监听端口80 (默认)。
因此,我认为最好的方法是修改hosts文件。对任何事都没有影响。我没有收到任何错误,也没有任何信息。
发布于 2010-02-21 18:33:25
你不能。主机文件就是--主机。它相当于本地计算机中的“短路”DNS。DNS也不能将您发送到端口。
为了实现您想要做的事情,您需要在IIS或Apache下设置虚拟主机,并使用它(基于Host: header)让服务决定显示哪个站点。但是,如果您想同时使用IIS和Apache,这不会对您有所帮助。
发布于 2016-09-15 09:50:10
hosts文件仅用于主机名解析。<hostname>:<port>,浏览器默认为端口80###Typical问题Scenario###
127.0.0.1又名localhost (在主机文件中定义)。2a。如果您可以将服务器ip地址更改为回送预留地址空间 127.0.0.0/8中的另一个地址,那么您可能不会试图在主机文件中设置端口。
您可以使用netsh作为端口代理来解决此问题。
example.app
| <--browser defaults to port 80
+--> example.app:80
| <--Hostname resolution by Hosts File
+--> 127.65.43.21:80
| <--Link by netsh Utility
+--> 127.0.0.1:8081localhost:8081上启动服务器127.65.43.21 example.app 127.0.0.0/8中的任意空闲地址。127.65.43.21:80没有被其他服务占用。netstat -a -n -p TCP | grep "LISTENING"查询netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1http://example.app访问服务器*说明:
- netsh端口代理需要ipv6库甚至只使用v4tov4,通常默认情况下也会包括它们,否则使用以下命令安装它们:netsh interface ipv6 install
您可以看到添加了以下命令的条目:
netsh interface portproxy show v4tov4
可以使用以下命令删除该条目:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
###Links到Resources:###
注意:这个答案重复了我在关于堆栈溢出的类似问题/答案。中讨论的答案
发布于 2013-01-25 09:29:30
你可以用费德勒做这件事。有了Fiddler脚本,你可以做很多令人惊奇的事情。
如果你像这样设置主机
127.0.0.1 www.site1.com # Port 80
127.0.0.1 www.sitetwo.com # Port 8080将其添加到CustomRules.js中(要打开CustomRules.js,请选择Fiddler‘Fiddler菜单上的自定义规则)
// this method is already exist
static function OnBeforeRequest(oSession: Session) {
if (oSession.host.toLowerCase() == "www.sitetwo.com")
oSession.host = "www.sitetwo.com:8080";
...
}然后Fiddler转换主机,然后连接到端口8080。
https://serverfault.com/questions/115282
复制相似问题