我要用nginx代理ws类似ws1114069126013openUrl5r7DIE8这种URL通过类似wssbrokerguokeitcomproxy1114069126013openUrl5r7DIE8方式来访问。proxy_pass需要通过参数来实现动态访问应该怎样写配置文件?
以下是一个可能的nginx配置文件示例:
server {
listen 443;
server_name broker.guokeit.com;
ssl on;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location /proxy/ {
proxy_pass http://$proxy_host$request_uri;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location / {
# your other server settings
}
}
在上面的配置文件中,我们将所有以“/proxy/”开头的请求代理到指定的目标服务器。注意,我们使用了一个变量“$proxy_host”,它将在运行时替换为实际的目标服务器地址。这个变量的值将从请求的URL中提取出来,具体的实现方式可以通过nginx的rewrite模块来实现。
例如,如果我们有一个请求“wss://broker.guokeit.com/proxy/111.40.69.12:6013/openUrl/5r7DIE8”,nginx将会将其代理到“ws://111.40.69.12:6013/openUrl/5r7DIE8”,并在请求头中添加必要的参数,以保证WebSocket协议能够正常工作。
原文地址: https://www.cveoy.top/t/topic/brve 著作权归作者所有。请勿转载和采集!