我知道你不能在 /etc/hosts 中放置端口,那么我该如何实现以下等效功能:
127.0.0.1 https://website.com:4433
对于 WordPress,我需要 CURL 转到端口 4433 上的 127.0.0.1。由于它是 wordpress 而不是我编写的脚本,因此我无法更改这一点。
答案1
我设法找到 iptables 规则来解决我的问题:
iptables -A OUTPUT -d 127.0.0.1/32 -p tcp -j DNAT --to-destination 127.0.0.1:4433
答案2
在您的中添加一行/etc/hosts
:
127.0.0.1 website.com
然后配置您的程序(无论它是什么)以在 127.0.0.1 上监听 4433。
您已经完成。
例子:
echo hi | nc -lt 127.0.0.1 4433
现在打开website.com:4433
你应该会看到一个“hi”。
要解决您在评论中提到的问题,您可以使用socat
:
socat tcp-listen:4433,reuseaddr,fork tcp:localhost:xx
使用上述命令,socat
将会监听4433
,每当有请求进入时都会将其转发到xx
,因此请将更改xx
为您的程序正在监听的实际端口。
答案3
如果您使用 Chrome 网络浏览器,他们有一个 URL 别名应用程序。它被称为 URL Alias。只需加载它并定义一个网站。在定义中,您可以添加带有端口指定的完整 URL。