目前有一个需求,生产ip为 http://pro.com,开发ip为 http://dev.com,当请求生产服务器出错时,将请求发送到开发服务器,从开发服务器中获取数据。
获取错误代码必须配置这一项:
proxy_intercept_errors on;
代理转发配置:
error_page 404 @error;
location @error {
return 307 http://dev.com$uri?$args;
}
完整的配置如下:
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
fastcgi_intercept_errors on;
proxy_intercept_errors on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
server {
listen 8080;