系统相关
首页 > 系统相关> > 如何使用NGINX反向代理,以及代理上游URL的端口和路径?

如何使用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