一、准備
WEB2 http://127.0.0.1:82/01/a/0.txt (即:此web沒有1.txt)
二、最終意義:
1.用戶請求http://www.c.com/a/1.txt
2.nginx先對a/1.txt路么進行重定向http://www.c.com/01/a/1.txt (訪問http://127.0.0.1:83/01/a/1.txt)
3.發現http://www.c.com/01/a/1.txt沒有資源
4.重新定向至http://www.c.com/a/1.txt ; (訪問http://127.0.0.1:81/a/1.txt)
5.成功
三、Nginx配置
http {
server_names_hash_bucket_size 64;
include mime.types;
default_type application/octet-stream;
#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;
fastcgi_intercept_errors on;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
upstream www.c.com {
server 127.0.0.1:83; # 請求公有雲地址
server 127.0.0.1:81; # 請求源地址
}
server {
# proxy_set_header Host $http_host;
# proxy_set_header X-Forward-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header REMOTE_ADD $remote_addr;
listen 83;
server_name 127.0.0.1;
charset utf-8;
#access_log logs/host.access.log main;
location /a {
proxy_pass http://127.0.0.1:82/01/a; ; #實現目錄重定向
}
}
server {
# proxy_set_header Host $http_host;
# proxy_set_header X-Forward-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header REMOTE_ADD $remote_addr;
listen 80;
server_name www.c.com;
charset utf-8;
proxy_next_upstream http_404 error timeout invalid_header;
#實現故障轉移
#access_log logs/host.access.log main;
location /a {
proxy_pass http://www.c.com;
}
}
}
