A反代理机器
B主机
#PROXY-START/
location ^~ /
{
## https://hello.xxxxx.info; 你想代理的网址
proxy_pass https://hello.xxxxx.info;
## $http_host; 这里你这么写, 你主服务器获取的 host就是你B机子的域名。 写A的域名, 那host获取的是A的域名。
proxy_set_header Host $http_host;
### 真实ip, 但我php中 getenv('HTTP_X_REAL_IP') 并未成功获取。
proxy_set_header X-Real-IP $remote_addr;
#### php中 $_SERVER["HTTP_X_FORWARDED_FOR"] 会获取到两个ip。 第一个是用户的真实ip, 第二个是反代理的ip。如果做了cf, 第二个会获取cf的ip。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
### 所有 静态文件,也代理到B域名。 没这个静态文件链接会失效。
set $static_filegGb8hUpx 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filegGb8hUpx 1;
expires 1m;
}
if ( $static_filegGb8hUpx = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
网友评论