如何实现amh一个域名下多个不同端口转发?

使用域名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; 
}
阅读 1.1k
1 个回答

面板上一个虚拟主机是对应一个规则文件,要分开不同规则的话,建议建立多个虚拟主机,
类似上面80端口与1080端口建立两个虚拟主机,即可用两个规则文件区分开。

如果多个主机要根目录一样的话,
1080端口的也可以用amh上的子域主机,可以设置网站根目录与80端口主机的一样。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题