我要用我的nginx通过wss方式来代理别人服务器的ws协议需要通过参数来代理不同服务器的ws在nginx怎样写配置
以下是一个简单的示例配置,可以使用变量来代理不同的服务器:
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream server1 {
server 1.2.3.4:8080;
}
upstream server2 {
server 5.6.7.8:8080;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location /ws {
proxy_pass http://$arg_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
}
}
}
在这个配置中,我们定义了两个upstream块,分别代表不同的服务器。然后,在location块中,我们使用$arg_server变量来指定要代理的服务器。例如,如果客户端请求的URL是/ws?server=server1,那么代理就会转发到server1。如果请求的URL是/ws?server=server2,那么代理就会转发到server2。
原文地址: https://www.cveoy.top/t/topic/bra2 著作权归作者所有。请勿转载和采集!