我想知道是否有一种方法来设置NGINX反向代理服务器绕过404(或其他错误代码)响应的列表中的服务器。
我有一个集群映像板,通过6个不属于群集的专用服务器进行批量导入,因为它们不使用共享存储。 将映像导入到实时系统时,作为群集一部分的其他服务器显然将响应404,因为它们无法访问驻留在导入服务器上的文件。
有没有一种方法可以将它们添加到NGINX的列表中,它会忽略那些使用404响应的服务器,并使用正确响应的服务器?
我的NGINXconfiguration反向代理:
upstream sequenzia-press { # server node-end1:80; server node1:80; server node2:80; server node3:80; server node4:80; } upstream sequenzia-cpu { server node1:80; server node2:80; server node3:80; server node4:80; } server { listen 80; root /var/www/html; server_name sequenzia.acr.moe; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 ssl; root /var/www/seq; server_name sequenzia.acr.moe; ssl_certificate /etc/apache2/keyset/fullchain.pem; ssl_certificate_key /etc/apache2/keyset/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers RC4:HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; keepalive_timeout 70; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; client_max_body_size 500M; location / { add_header TangledFramework-Proxy-Datacenter Nagatenjouki/Core-MD; add_header TangledFramework-Proxy-Network Nagatenjouki/Production; add_header TangledFramework-Proxy-Transit Nagatenjouki/Shirai; add_header TangledFramework-Proxy-Service Sequenzia_Delivery; proxy_pass http://sequenzia-cpu$request_uri; } location /post/import { add_header TangledFramework-Proxy-Datacenter Orion/Endymion-ATL-1; add_header TangledFramework-Proxy-Network Orion-Edge-CDN/Primary; add_header TangledFramework-Proxy-Transit Orion-Edge-A/Shirai-1; add_header TangledFramework-Proxy-Service Sequenzia_Delivery; proxy_pass http://<Import RPC>$request_uri; } location /data { add_header TangledFramework-Proxy-Datacenter Orion/Endymion-ATL-1; add_header TangledFramework-Proxy-Network Orion-Edge-CDN/Primary; add_header TangledFramework-Proxy-Transit Orion-Edge-A/Shirai-1; add_header TangledFramework-Proxy-Service Sequenzia_Delivery; proxy_pass http://sequenzia-press$request_uri; } location /se4trp { root /var/www/err; expires max; } }