就是我有一个域名ABC.com
一台服务器,两个网站应用程序
两个网站应用程序挂在不同端口
设置了两个域名,A.ABC.com,B.ABC.com
访问A.ABC.com和B.ABC.com能指向这两个应用程序.
如何配置
世界只因有你2017-05-16 17:19:48
类似这样子
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;
}
}
这样就可以把两个请求转发到对应的本地程序端口上了。。。 :)
某草草2017-05-16 17:19:48
你需要配置虚拟主机,让 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
的请求就会被转发到相应的端口上,由各自的应用处理。