Ubuntu
nginx負載平衡圖像未載入
下面是我的負載平衡配置。我的其他伺服器包含基於 nginx 獨角獸的應用程序設置。當我嘗試上述配置時,圖像未載入。我共有三台伺服器 1 用於負載平衡,另外 2 台用於應用程序。有人可以幫我弄這個嗎。我對此感到非常震驚。
upstream backend { server ws1.10.10.1.1 fail_timeout=10; server ws2.10.10.1.2 fail_timeout=5; } server { listen 80; client_max_body_size 2G; server_name staging.xxxx.com; include /etc/nginx/mime.types; default_type application/octet-stream; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X_FORWARDED_PROTO $scheme; proxy_set_header Host $host; proxy_connect_timeout 3; proxy_read_timeout 60; proxy_send_timeout 60; proxy_redirect false; proxy_max_temp_file_size 0; if (!-f $request_filename) { proxy_pass http://backend; } } location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { } }
我自己修復了它,問題是我應該在 application.rb 和 seeeion_store.rb 中添加負載平衡 url,我錯誤地添加了 localhost,所以它現在無法獲取圖像。
如果您想通過代理伺服器為它們提供服務,問題是當 URI 匹配時,正則表達式位置塊在 nginx 位置的搜尋中具有更高的優先級。因此,刪除最後一個位置塊或編寫一個唯一的備份位置並使用
try_files
.open_file_cache max=10 inactive=10m; open_file_cache_valid 5m; open_file_cache_min_uses 1; open_file_cache_errors on; location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { # other stuff try_files /unreachable/path @fallback; } location / { # other stuff try_files /unreachable/path @fallback; } location @fallback { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X_FORWARDED_PROTO $scheme; proxy_set_header Host $host; proxy_connect_timeout 3; proxy_read_timeout 60; proxy_send_timeout 60; proxy_redirect false; proxy_max_temp_file_size 0; proxy_pass http://backend; }