有時候咱們用 nginx 作反向代理的時候會遇到以下報錯:php
"[error] 11618#0: *324911 upstream timed out (110: Connection timed out) while reading response header from upstream, "
複製代碼
這種狀況多發生在用 nginx 作反向代理的時候,例如用 nginx 作反向代理轉發某一個 swagger
接口,當訪問接口時報錯,狀態碼通常爲 504 ,也就是代理超時的問題。nginx
其實這是因爲超時問題形成的,解決方案以下:bash
通常咱們用的是 nginx 的 proxy 機制作反向代理,此時咱們須要修改 nginx 配置文件 nginx.conf
,在 http 或者 server 段添加以下內容:spa
large_client_header_buffers 4 16k;
client_max_body_size 30m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
複製代碼
而後重啓 nginx ,通常超時問題就會解決了。代理
大多數狀況下咱們用的是 proxy 方式,可是有時候咱們還會遇到 fastcgi 的方式,例如用 nginx 處理 php 頁面的場景。其實處理方式相似,一樣是修改 nginx 配置文件 nginx.conf
,在 http 或者 server 段添加以下內容:code
large_client_header_buffers 4 16k;
client_max_body_size 30m;
client_body_buffer_size 128k;
fastcgi_connect_timeout 300;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 64k;
fastcgi_temp_file_write_size 64k;
複製代碼
而後重啓 nginx ,通常超時問題就會解決了。server
上述配置的具體參數還需根據實際狀況而定,不能一味的複製粘貼,但願能幫到你們處理對應的問題。接口