25 windows ip-address localhost
我想在 Windowshosts
文件中指定具有两个不同端口的主机名。
有没有办法做到这一点?还是Windows本身不允许?
在过去的 8 个小时里,我一直在浪费时间寻找解决方案。
是否可以在主机文件中指定端口hosts
?例如:127.0.0.1:80
和127.0.0.1:9211
gdb*_*ble 21
只需使用没有端口的 IP 地址。例子:
192.168.2.50 example.com
Run Code Online (Sandbox Code Playgroud)
然后,从浏览器(或其他程序)访问 192.168.2.50:5555:
http://example.com:5555/
Run Code Online (Sandbox Code Playgroud)
该hosts
文件可以在以下位置找到:
Linux /etc/hosts
窗户:C:\Windows\System32\drivers\etc\hosts
Joh*_*n T 18
您不能将端口号与映射到主机文件中 IP 的主机名相关联。您可以使用Fiddler实现这一点,但使用 FiddlerScript:
if (oSession.HostnameIs("somesite.com")){
oSession.bypassGateway = true;
oSession["x-overrideHost"] = "1.2.3.4:8080";
}
Run Code Online (Sandbox Code Playgroud)
Pau*_*rez 12
hosts
文件仅用于主机名解析<hostname>:<port>
,默认端口80
127.0.0.1
也就是localhost
(在主机文件中定义)。为避免可能的其他现有/正在运行的服务器之间发生冲突,该应用程序通常允许您更改端口,但不允许更改 IP 地址。
2a. 如果您可以将服务器 ip 地址更改为回送保留地址空间 中的另一个地址127.0.0.0/8
,那么您可能不会尝试在主机文件中设置端口。
您可以使用Windows 包含的网络工具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
Run Code Online (Sandbox Code Playgroud)
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"
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
http://example.app
注意:
- 这些命令/文件修改需要以管理员权限执行
- 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 上的这个类似问题/答案中讨论的答案的重复。
归档时间: |
|
查看次数: |
160105 次 |
最近记录: |