请教一个 nginx 的问题, nginx 可以根据 url 前缀的不同来重定向到不同的端口吗?

2017-03-13 11:26:10 +08:00
 zhanglintc
比如 abc.example.comxyz.example.com 分别用 nginx 定向到服务器的 3000 端口和 3001 端口?
2862 次点击
所在节点    问与答
5 条回复
predator
2017-03-13 11:38:32 +08:00
一般情况下 abc.example.comxyz.example.com 在 nginx 中是两个不同的 server 段
也就是:

server {
listen 80;
server_name abc.example.com;
……
}

如果只有少量需要“定向”,那么先每个域名来一套配置

如果是要重定向,用:
return 301 http://abc.example.com:3000$request_uri;

如果是转发给监听在 3000 端口的另一个服务器处理,那么用:
proxy_pass http://127.0.0.1:3000;
powergx
2017-03-13 11:45:37 +08:00
就是反向代理啊, nginx 拿手活
zhanglintc
2017-03-13 11:54:42 +08:00
@predator @powergx

我的需求就是我有两个服务,分别用了两个端口,比如 3000 和 3001 。我只有一个域名,所以我想根据 abc 和 xyz 来分别导向这两个端口,就感觉两个服务各自有了一个域名。

然后不知道怎么写这个配置。 @predator 写的内容没太看明白。😂
Citrus
2017-03-13 12:36:41 +08:00
@zhanglintc 如果你没看明白一楼的回答,建议你要不认真读一下 Nginx 入门相关文档,要不直接让别人帮你配置了吧。。。
zhanglintc
2017-03-13 12:48:04 +08:00
@Citrus #4 的确是才入门. 后来回味儿了一阵一楼的话, 差不多明白了. 现在成功了.

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

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

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

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

© 2021 V2EX