使用域名a.xxx.com创建一个虚拟主机监听多个端口,比如80和1080。该如何同时实现1.2.3.三个需求
1.a.xxx.com:80/ 显示默认index.html
2.a.xxx.com:80/ws转发至后台使用8088端口的wss服务
3.a.xxx.com:1080/转发至后台的另外一个使用8089端口的服务
原本nginx建立两个server分别监听80和1080,再分别设置location/proxy_pass就行了,但现在我看面板里只能公用一个AMRewrite规则所以没搞懂该怎么写。
添加了一条/ws的转发。但不能区分是:80/ws过去了还是:1080/ws过去了。同时也没想明白怎么将:80/和:1080/指向不同的地方。(需要创建两个相同域名的虚拟主机来实现这个?)
location /ws
{
proxy_pass http://localhost:8088;
proxy_redirect off;
proxy_read_timeout 3600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
面板上一个虚拟主机是对应一个规则文件,要分开不同规则的话,建议建立多个虚拟主机,
类似上面80端口与1080端口建立两个虚拟主机,即可用两个规则文件区分开。
如果多个主机要根目录一样的话,
1080端口的也可以用amh上的子域主机,可以设置网站根目录与80端口主机的一样。