1、需求场景
手上有两个域名,一台服务器,服务器上跑了两个应用,占用两个不同的端口。
假设两个域名为:
- domain1.com
- domain2.com
两个应用所占端口为8080、8090
需要将两个域名分别指向这两个应用的端口
2、实现思路
域名经过DNS解析之后访问的是指定服务器IP的80端口,所以实现思路就是在域名服务进行DNS解析的时候,访问指定服务器的80端口,使用Nginx监听80端口的信息,如果是domain1.com就转发到8080端口上,如果是domain2.com就转发到8090端口上。
3、NGINX配置
编辑nginx.conf文件:
server {
listen 80;
server_name domain1.com;
if ( $host !~* "domain1.com" ) {
return 404;
}
location / {
proxy_pass http://xxx.xxx.xxx.xxx:8080;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
server_name domain2.com;
if ( $host !~* "domain2.com" ) {
return 404;
}
location / {
proxy_pass http://xxx.xxx.xxx.xxx:8090;
proxy_set_header X-Real-IP $remote_addr;
}
}
保存之后,使nginx重新加载配置文件就可以了