如何使用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不是我想要传递给上游服务器的端口.

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...