如何使用NGINX反向代理,以及代理上游URL的端口和路径?
作者:互联网
我已经按照此处的说明设置了nginx反向代理:https://medium.com/@mightywomble/how-to-set-up-nginx-reverse-proxy-with-lets-encrypt-8ef3fd6b79e5
我启用了sites / mysite.conf的样子
server {
server_name mynginxreverseproxy.com;
set $upstream serverip:$server_port/;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream;
proxy_set_header Host $host;
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection “”;
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off; }
listen 443 ssl; # paths to ssl cert files
} server {
if ($host = mynginxreverseproxy.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name mynginxreverseproxy.com; listen 80;
return 404;
}
我想将端口和路径转发到我的服务器,例如https://mynginxreverseproxy.com:portnumber/myurl->到serverip:com:portnumber / myurl.我已经能够在单个端口上工作,该端口可以将端口80转发到我想要的端口,但是我如何扩展到多个端口呢?
我想设置许多端口映射,因此最好使用变量而不是对每个端口映射进行硬编码.
如何使用conf文件中的变量传递端口和路径?
解决方法:
经过大量的调试和配置,我最终使此工作正常.
的
设置$upstream serverip:$server_port
是正确的,但我错过了
listen指令允许NGINX服务器监听特定的端口,默认情况下它监听端口80.但是,端口80不是我想要传递给上游服务器的端口.
标签:nginx,reverse-proxy 来源: https://codeday.me/bug/20191211/2105383.html