一次悲催的nginx轉發白屏經歷


背景

公司還有一個學習平台,由於公網地址問題,所以想用nginx轉發一下,首先后端地址訪問時沒有問題的,一切正常。

用nginx轉發后,訪問nginx代理地址悲催了,出現了白屏。

排查過程

首先貼出來我的nginx配置:

server {
    listen 9005;
    port_in_redirect off;
    index index.jsp index.html;

    location / {
                proxy_pass              http://111.111.111.111:9005;
                proxy_buffers           256 16k;
                proxy_redirect          off;
                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_set_header        REMOTE-HOST $remote_addr;
                client_max_body_size    300m;
                client_body_buffer_size 128k;
                proxy_connect_timeout   5;
                proxy_send_timeout      600;
                proxy_read_timeout      600;
                proxy_buffer_size       16k;
                proxy_busy_buffers_size 128k;
                proxy_temp_file_write_size 64k;
                proxy_next_upstream  http_404;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

查看nginx報錯日志:

ginx代理后的默認http版本是1.0.、如果原始請求是長連接或者分塊傳遞,需要加上http1.1的參數,

nginx的location模塊里面加上proxy_http_version 1.1估計可以了

添加如下,兩行代碼:

proxy_http_version 1.1;  #開啟對http1.1支持
proxy_set_header Connection "";  #設置Connection為空串,以禁止傳遞頭部到后端

 


免責聲明!

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



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