nginx 503 Service Temporarily Unavailable錯誤如何解決

最近網站刷新后經常出現503 service temporarily unavailable錯誤,有時有可以,聯想到最近在nginx.conf里做了單ip訪問次數限制,(limit_req_zone $binary_remote_addr zone=allips:20m rate=20r/s;) 把這個數量放大后在刷新發現問題解決。(還順便把這個改大了 limit_req zone=allips burst=50 nodelay;?? )為了證實該問題,反復改動該數量測試發現問題確實在這。這個數量設得太小有問題,通過fiddler發現web頁面刷新一下,因為頁面上引用的JS,css,圖片都算一個連接。所以單個頁面刷新下就有可能刷爆這個限制,超過這個限制就會提示503 service temporarily unavailable。

附上nginx.conf

#user?nobody; worker_processes?1; #worker_rlimit_nofile?100000;? #error_log?logs/error.log; #error_log?logs/error.log?notice; #error_log?logs/error.log?info; ? #pid????logs/nginx.pid; ? events?{ ??worker_connections?1024; } ? http?{ ??include????mime.types; ??default_type?application/octet-stream; ? ##cache## ?proxy_connect_timeout?5; ?proxy_read_timeout?60; ?proxy_send_timeout?5; ?proxy_buffer_size?16k; ?proxy_buffers?4?64k; ?proxy_busy_buffers_size?128k; ?proxy_temp_file_write_size?128k; ?proxy_temp_path?/home/temp_dir; ?proxy_cache_path?/usr/local/nginx/cache?levels=1:2?keys_zone=cache_one:200m?inactive=1d?max_size=30g; ?##end## #limit?per?ip?per?second?access?times?10? limit_req_zone?$binary_remote_addr?zone=allips:20m?rate=20r/s; ? ??#log_format?main?'$remote_addr?-?$remote_user?[$time_local]?"$request"?' ??#?????????'$status?$body_bytes_sent?"$http_referer"?' ??#?????????'"$http_user_agent"?"$http_x_forwarded_for"'; ? ??#access_log?logs/access.log?main; ? ??sendfile????on; ??#tcp_nopush???on; ? ??#keepalive_timeout?0; ??keepalive_timeout?65; ? ??#gzip?on; upstream?myweb80{ ??ip_hash; ??server?192.168.3.105:80; ??server?192.168.3.103:80; } ? upstream?myweb8080{ ??ip_hash; ??server?192.168.3.222:10080; ??#server?192.168.3.103:8080; ?}? upstream?myweb10086{ ??ip_hash; ??server?192.168.3.102:10086; ??server?192.168.3.108:10086; ?}? upstream?myweb443{ ??ip_hash; ??server?192.168.3.105:443; ??server?192.168.3.103:443; ?}? ? ??#?another?virtual?host?using?mix?of?ip-,?name-,?and?port-based?configuration ??# ??server?{ ????listen????80; ????allow??218.17.158.2; allow?127.0.0.0/24; allow?192.168.0.0/16; allow?58.251.130.1; allow?183.239.167.3; allow?61.145.164.1; deny??all; server_name?myweb.com; ????location?/?{ ????????proxy_pass?http://myweb80; proxy_set_header?x-real-ip?$remote_addr; limit_req?zone=allips?burst=50?nodelay;?? ????} ??} ? ??server?{ ????listen????8080; allow??218.17.158.2; allow?127.0.0.0/24; allow?192.168.0.0/16; allow?58.251.130.1; allow?183.239.167.3; allow?61.145.164.1; deny??all; ????location?/?{ ????????proxy_pass?http://myweb8080; proxy_set_header?x-real-ip?$remote_addr; limit_req?zone=allips?burst=50?nodelay;?? ????} ??} ? #?https?server ??# ??server?{ ????listen????10086?ssl; ????server_name?localhost; allow??218.17.158.2; allow?127.0.0.0/24; allow?192.168.0.0/16; allow?58.251.130.1; allow?183.239.167.3; allow?61.145.164.1; #deny??all; ????ssl_certificate???ssl/1_www.myweb.com_bundle.crt; ????ssl_certificate_key?ssl/2_www.myweb.com.key; ? ??#??ssl_session_cache??shared:ssl:1m; ??#??ssl_session_timeout?5m; ? ??#??ssl_ciphers?high:!anull:!md5; ??#??ssl_prefer_server_ciphers?on; ? ????location?/?{? ???proxy_pass?https://?myweb10086;? ???#roft?html;? ???#index?index.html?index.htm;? ????}? ??} ? ??服務器{? ????listen?443?ssl;? ????server_name?localhost; ? ????ssl_certificate?ssl?/?1_www.myweb.com_bundle.crt;? ????ssl_certificate_key?ssl?/?2_www.myweb.com.key; ? ??#ssl_session_cache共享:ssl:1m;? ??#ssl_session_timeout?5m; ? ??#ssl_ciphers?high:!anull:!md5;? ??#ssl_prefer_server_ciphers?on; ? ????location?/?{? ???proxy_pass?https://?myweb443;? ???#roft?html;? ???#roft?html;? ???#index?index.html?index.htm;? ????}? ??}? }

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享