Я настраиваю обратный прокси на Nginx. Мне нужно, чтобы слушать несколько портов. Затем я хотел бы использовать тот же порт на внутреннем сервере. Как это: http: // frontendserver: 9000 -> http: // backendserver: 9000.
Вот что, как я думал, сработает
## server configuration
server {
listen 9000 ;
listen 9001 ;
listen 9002 ;
listen 9003 ;
listen 9004 ;
listen 9005 ;
listen 9006 ;
listen 9007 ;
listen 9008 ;
listen 9009 ;
server_name frontendserver;
if ($http_x_forwarded_proto = '') {
set $http_x_forwarded_proto $scheme;
}
location / {
proxy_read_timeout 900;
proxy_pass_header Server;
proxy_cookie_path ~*^/.* /;
proxy_pass http://backendserver:$server_port/;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
но это дает мне ошибку 502 Bad Gateway. Есть какие-нибудь подсказки, почему это так, или есть ли другой способ сделать это, как описано выше?
Если я изменю:
proxy_pass http://backendserver:$server_port/;
к
proxy_pass http://backendserver:9000/;
он отлично работает, это, конечно, противоречит цели ...