nginx 二次代理轉發


一、背景
近期部署項目時遇到一個問題,由阿里雲解析到一個公網iP,由該公網ip的nginx進行轉發。但轉發時,該項目為前后端分離,需要解析到遠程服務器的xxx目錄,這通過一個nginx轉發不好解決。通過第一個nginx轉發到遠程服務器的nginx端口,由遠程服務器的nginx進行本地轉發即可。
二、步驟
1.比如遠程服務器內網ip為192.168.10.11,ip公網ip服務器的nginx轉發到192.168.10.11:的80端口(nginx端口)。

upstream config_upstream{
  server 192.168.10.11:80   max_fails=3 fail_timeout=3s weight=10;
}

server {
        listen       80;
        server_name  config.xxxx.com;

          location / {
                        proxy_next_upstream error timeout invalid_header http_500 http_503;
                        proxy_pass  http://config_upstream;
                        proxy_set_header X-Forwarded-Proto https;
                        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_redirect     off;
                        proxy_connect_timeout      300;
                        proxy_send_timeout         300;
                        proxy_read_timeout         300;
                        #proxy_send_lowat          12000;
                        proxy_buffer_size          128k;
                        proxy_buffers              8 64k;
                        proxy_busy_buffers_size    128k;
                        proxy_temp_file_write_size 128k;
                }
    }

 

2.到遠程服務器192.168.10.11上安裝nginx進行轉發。

upstream config_upstream{
  server 127.0.0.1:9990   max_fails=3 fail_timeout=3s weight=10;
}

server {
        listen       80;
        server_name  config.xxxx.com;


          location / {
                 root /data2/java/deploy/web/disconf/html;
                 if ($query_string) {
                         expires max;
                 }
            }
          location ~ ^/(api|export) {
                        proxy_next_upstream error timeout invalid_header http_500 http_503;
                        proxy_pass  http://config_upstream;
                        proxy_set_header X-Forwarded-Proto https;
                        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_redirect     off;
                        proxy_connect_timeout      300;
                        proxy_send_timeout         300;
                        proxy_read_timeout         300;
                        #proxy_send_lowat          12000;
                        proxy_buffer_size          128k;
                        proxy_buffers              8 64k;
                        proxy_busy_buffers_size    128k;
                        proxy_temp_file_write_size 128k;
                }
}


原文鏈接:https://blog.csdn.net/qq_33633013/article/details/102958596


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM