nginx可不可以做端口跳转?

2013-01-15 22:09:00 +08:00
 dhq314
例如访问 http://test:1234/ 会自动跳到 http://test/
13012 次点击
所在节点    NGINX
35 条回复
lqs
2013-01-15 22:17:21 +08:00
listen 1234,然后 rewrite .* http://test/
plprapper
2013-01-15 22:22:52 +08:00
反向代理的功能 就是这样的吧

listen 1234

location / {
proxy_pass http://127.0.0.1/;

搜搜这个东西 应该是你需要的
CosWind
2013-01-15 22:35:09 +08:00
@plprapper 人家说的是nodejs,不是ngnix
plprapper
2013-01-15 23:04:18 +08:00
@CosWind 额。。 题目不是 nginx吗
dhq314
2013-01-15 23:09:52 +08:00
@plprapper @lqs
不能用nginx监听1234端口,不然我另外要作反向代理的那个服务进程启动不来了


@CosWind
不是说nodejs,不过也可以说成是一个监听1234端口的nodejs的服务,在浏览器访问http://test:1234/可以打开一个网页,我想问的是nginx能不能这样配置,在浏览器上输入http://test:1234/,浏览器那边会跳到http://test/,类似做个302的重定向,就是把地址上的端口名隐藏掉
goxofy
2013-01-15 23:26:06 +08:00
这个和强制SSL是一样的啊,Google下nginx强制SSL,把80强制转到443
dhq314
2013-01-16 00:32:06 +08:00
@goxofy
不一样,SSL的443端口还是nginx在监听,我这里的1234端口是别的服务程序在监听着...我发现nginx应该是做不了这个端口跳转了?
xiaop
2013-01-16 03:20:35 +08:00
谁污染谁治理,谁监听谁跳转
dhq314
2013-01-16 10:24:14 +08:00
@xiaop
就是1234端口跳到80端口,不过nginx不能监听1234端口
zhangxiao
2013-01-16 16:57:41 +08:00
@dhq312 那你总得有个监听1234的东西吧...
dhq314
2013-01-16 18:26:17 +08:00
@zhangxia0
上面说过了有其他服务程序在监听...
CosWind
2013-01-16 19:54:14 +08:00
@plprapper
@dhq314
眼花了...
BOYPT
2013-01-16 22:51:06 +08:00
。。不监听又想能跳转,真是奇葩,要么该你原来监听1234的那个程序的代码实现跳转,要么在更层网络,比如iptables把数据包转到用户态,判断需要跳转直接返回掉。反正你不让nginx监听的话没他什么事情。
wwqgtxx
2013-01-16 23:05:05 +08:00
listen 80

location / {
proxy_pass http://127.0.0.1:1234/;

nginx只能这样配置了,剩下的配置iptables吧
xiaop
2013-01-18 22:53:55 +08:00
楼主的需求,是不是开了1234端口又不想让别人访问到?
dhq314
2013-01-19 16:07:41 +08:00
@xiaop 可以访问,不过是想1234端口不显示出来
phuslu
2013-01-19 16:12:37 +08:00
楼主你这需求太奇葩+1
太固执了。。。
dhq314
2013-01-19 18:05:42 +08:00
看到有信息提示,我还以为是有什么好的想法...

其实这个问题我已经不纠结,能实现就最好,不能实现我也知道是什么问题了,至于固不固执由人去说。

回复能关注在问题上就最好,回复些感叹的也可以,虽然这个问题是不需要这些。

不过,有好的想法是欢迎回复的。
xingis
2013-01-19 18:31:17 +08:00
你是这样的意思吗,你是想让人家直接打开http://test/的时候,访问你服务器的1234端口!是这样吗!
keakon
2013-01-19 22:05:35 +08:00
确认下需求。

访问1234端口时,如果是HTTP请求,就让浏览器重定向到80端口;否则让监听1234端口的nodejs进程来处理。

处理办法:
1. 让这个nodejs进程自己判断请求。
2. 让nodejs监听127.0.0.1:1234,自己写个服务x监听外部ip:1234,设置允许socket重用端口,然后交给x判断。

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

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

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

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

© 2021 V2EX