我的服务器收到来自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
这是nginx原生支持的东西!
您需要做的是为每个"上游"创建一个新的server { }
块。服务(:9001,:9002等),然后使用服务器块内的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/