我想configurationWindows 主机文件来发送基于IP地址+端口的主机请求。
例如:
127.0.0.1:80 www.site1.com 127.0.0.1:8080 www.sitetwo.com
因为我有端口8080上的Apache侦听和端口80上的IIS(默认)。
所以,我认为最好的办法是修改hosts
文件。 这不影响任何东西。 我也没有得到任何错误,也没有任何消息。
你不能。 主机文件就是 – 主机。 这相当于本地机器中的“短路”DNS。 DNS也无法将您发送到端口。
为了实现你想要做的事情,你需要在IIS或Apache下设置虚拟主机,并使用它(基于HTTP Host:头)来让服务决定要显示哪个站点。 但是,如果您想要同时使用IIS和Apache,这不会对您有所帮助。
不,你不能。 如果它不工作,那么别的东西就出错了。
127.0.0.1 site.com 127.0.0.1 www.site.com
我认为这是一个发展框?
只要你没有像代理你的DNS查询那样,DNS就会将site.com和www.site.comparsing到本地主机。 您应该可以在ServerFault上询问Web服务器configuration帮助,这是最可能的问题。
你可以用小提琴手做。 随着提琴手脚本 ,你可以很多惊人的事情。
如果你设置这样的主机
127.0.0.1 www.site1.com # Port 80 127.0.0.1 www.sitetwo.com # Port 8080
将其添加到CustomRules.js中 (要打开CustomRules.js ,请select在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。
您是否仅将服务器用于本地开发? 如果是这样的话,你可以把你的Apache监听127.0.0.2:80,然后把hosts文件redirect到你喜欢的域名。
hosts
文件仅用于主机名parsing <hostname>:<port>
, 默认为端口80
127.0.0.1
又名localhost
(在主机文件中定义) 。 为了避免可能的其他现有/正在运行的服务器之间发生冲突,应用程序通常允许您更改端口,但不能更改IP地址。
2A。 如果您可以在环回保留地址空间 127.0.0.0/8
中将服务器IP地址更改为另一个地址 ,那么您可能不会尝试在hosts文件中设置端口。
您可以使用Windows包括networking工具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:8081
localhost:8081
上启动服务器 127.65.43.21 example.app
127.0.0.0/8
中的任何空闲地址。 127.65.43.21:80
没有被另一个服务占用。 netstat -a -n -p TCP | grep "LISTENING"
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.1
http://example.app
访问服务器 笔记:
– 这些命令/文件修改需要使用pipe理员权限执行
– netsh portproxy需要ipv6库,甚至只使用v4tov4,通常它们也将被默认包含在内,否则使用以下命令安装它们: netsh interface ipv6 install
您可以看到使用以下命令添加的条目 :
netsh interface portproxy show v4tov4
您可以使用以下命令删除条目 :
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
注意:这个答案是我的答案在这个类似的问题/ stackoverflow上讨论的重复。
与其他答案主机文件没有端口信息,但你可以有一个redirect页面像apache或IIS的名称将基于名称的虚拟主机的页面。 检查标题并根据需要redirect。 不过,我并没有真正看到这个价值,因为你正在重新发明轮子。 Apache支持基于端口的虚拟主机,我假设iis。
您的目标是拥有一台运行我们的开发机器,用于生产情况。
按着这些次序:
Install Fiddler2 Navigate to Fiddler2 menu:- Tools > HOSTS.. (Click to select) Add a line like this:- localhost:8080 www.mydomainname.com Save the file & then checkout www.mydomainname.com in browser.
https://stackoverflow.com/questions/8652948/using-port-number-on-windows-xp-host-file
这是你可以做的,只对本地开发有帮助。
主机文件:
在IIS中,创build新的网站和local.site1.com&local.site2.com
你已准备好出发。 只要确保你使用的端口没有被其他进程使用,也可以从防火墙,防病毒软件等打开。
之后,您可以使用以下URL从本地机器或从局域网访问网站。