本地域名映射本地服务(非 80 端口)

2017-09-26 17:57:09 +08:00
 meisei81

需求:想在本地 Chrome 上访问 www.a.com 的时候,可以映射到本地服务 127.0.0.1 的 12345 端口 想到的解决方案:在别的机器装个 nginx 代理,然后 www.a.com 指向 nginx,nginx 再代理回来。感觉这种方式有点麻烦。 有没有更好的解决方案?先行谢过。

9878 次点击
所在节点    程序员
16 条回复
zingl
2017-09-26 18:16:07 +08:00
/etc/hosts + port forwarding
Tink
2017-09-26 18:16:08 +08:00
为啥不 hosts.....
meisei81
2017-09-26 18:23:55 +08:00
@zingl port forwarding 用的是系统自带的功能么?
meisei81
2017-09-26 18:24:49 +08:00
@Tink hosts 支持端口映射么
nousername2030
2017-09-26 18:28:30 +08:00
a.com 是你自己的域名?还是别人的?
nousername2030
2017-09-26 18:29:40 +08:00
如果是你自己的域名,dns 记录改到 127.0.0.1。本机上装个 nginx,反代 12345 端口到 80 就好了。
Tink
2017-09-26 18:30:27 +08:00
@meisei81 本机有 nginx 反带一下啊
AsisA
2017-09-26 19:15:42 +08:00
Chrome 插件 Switcheroo Redirector 值得拥有,我一直用这个,简单易用,不过我没试过指定端口,你可以试试


https://chrome.google.com/webstore/detail/switcheroo-redirector/cnmciclhnghalnpfhhleggldniplelbg
oott123
2017-09-26 19:16:10 +08:00
教你一个简单的:你把监听 127.0.0.1:12345 的程序改为监听 127.12.34.5:80,然后 hosts 写 www.a.com 127.12.34.5

事实上 127.x.x.x 都可以随便监听,而且互不冲突,特好用(
以上仅在 linux / mac 上实验通过
AsisA
2017-09-26 19:17:03 +08:00
原来是映射过去…我搞错了,这个是重定向用的
anoymoux
2017-09-26 20:25:20 +08:00
hosts:
www.a.com 127.0.0.1

windows :
netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=12345
linux
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 12345
Mac:
sudo ipfw add 1 forward 127.0.0.1,12345 ip from any to any 80 in
meisei81
2017-09-27 10:01:33 +08:00
@oott123 mac 上可以监听 80 端口么。印象中本地的应用程序不能直接监听的吧
meisei81
2017-09-27 10:02:14 +08:00
@AsisA 感谢推荐插件。又学了一招。先安装试试。
meisei81
2017-09-27 10:37:43 +08:00
@anoymoux
ipfw 的我没试,本地没有这个软件。
我在 mac 的 /etc/pf.conf 文件中加了下面这个
rdr on lo0 inet proto tcp from any to www.abc.com port 80 -> 127.0.0.1 port 8081
rdr on lo0 inet proto tcp from any to www.123.com port 80 -> 127.0.0.1 port 8082
当我在浏览器上访问 www.123.com 的时候,访问到的却是 8081 的服务。
不知道 ipfw 的是否也有类似的问题
meisei81
2017-09-27 11:08:30 +08:00
@Tink 试了一下 nginx 确实可以反带。以前一直以为本地浏览器上的请求 nginx 无法监听到的。感谢。问题解决。
ghostcode
2019-11-29 17:10:28 +08:00
@AsisA 666 可以端口映射

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/393843

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX