如何将https请求从端口443转发到另一个端口,使用Nginx

5w9g7ksd  于 2023-04-05  发布在  Nginx
关注(0)|答案(1)|浏览(1022)

我的服务器收到443端口的Https请求,我想根据域名转发到其他端口,这个可行吗?怎么实现?我的服务器没有认证。
举个例子

request of https://aaa.com/ --- nginx ---> forward tcp packages to port 9001
request of https://bbb.com/ --- nginx ---> forward tcp packages to port 9002
hs1rzwqc

hs1rzwqc1#

这是nginx原生支持的!
您需要做的是为每个“上游”服务(:9001,:9002等)创建一个新的server { }块,然后使用该服务器块中的proxy_pass规则将来自aaa.com的所有流量转发到:9001,或者其他任何情况。
是这样的:

server {
  listen 443;
  listen [::]:443;

  server_name aaa.com www.aaa.com;
  
  location / {
    proxy_pass http://localhost:9001; 
  }

  # Set https certificate variables at some point too.
}

bbb.com重复上面的代码块,并交换proxy_pass指向的位置。
有关更多信息,如传递头,请查看NGINX文章:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

相关问题