反向代理 - 如何配置nginx 同一ip,多域名,不同端口?

【字号: 作者:雯心浏览:45日期:2022-07-16

问题描述

就是我有一个域名ABC.com一台服务器,两个网站应用程序两个网站应用程序挂在不同端口设置了两个域名,A.ABC.com,B.ABC.com访问A.ABC.com和B.ABC.com能指向这两个应用程序.如何配置

问题解答

回答1:

类似这样子

server { listen 80; server_name A.ABC.com; location / { proxy_pass http://localhost:1234; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

另外一个:

server { listen 80; server_name B.ABC.com; location / { proxy_pass http://localhost:4321; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

这样就可以把两个请求转发到对应的本地程序端口上了。。。 :)

回答2:

你需要配置虚拟主机,让 Nginx 监听不同的域名的80端口,然后转发到各自应用的实际端口

首先,你需要编辑/etc/nginx/nginx.conf,在http模块中引入其他配置文件:

include /etc/nginx/conf.d/*.conf;

这样你就可以在/etc/nginx/conf.d文件夹中分别设置每个虚拟主机。

然后在上面的文件夹下分别新建文件/etc/nginx/conf.d/a.conf和/etc/nginx/conf.d/b.conf,当然文件名a,b随你起。

server { listen 80; server_name a.abc.com; access_log /data/node/log/host.access.log main; location / {proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-NginX-Proxy true;proxy_pass http://127.0.0.1:<YOUR PORT>/;proxy_redirect off; }}

对b.abc.com的应用只需要修改上面的server_name就可以。

这样每个访问http://a.abc.com的请求就会被转发到相应的端口上,由各自的应用处理。

回答3:

域名指向同一IP,配相应虚拟主机

回答4:

可以用Nginx的反向代理

相关文章: