我想使用nginx将example1.com代理到example2.com,配置为fllow
server
{
listen 80;
server_name www.example1.com;
location / {
expires off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_use_stale off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://www.example2.com/;
}
access_log /var/log/nginx/www.example1.com_access.log;
error_log /var/log/nginx/www.example1.com_error.log;
}
稍后我改为使用example3.com:
server
{
listen 80;
server_name www.example1.com;
location / {
expires off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_use_stale off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://www.example3.com/;
}
access_log /var/log/nginx/www.example1.com_access.log;
error_log /var/log/nginx/www.example1.com_error.log;
}
无论我重启nginx,它都会将www.example1.com代理到www.example2.com,而不是www.example3.com。 谁曾遇到过这个问题?
Nginx版本:1.8.0
答案 0 :(得分:1)
您的Nginx语法是正确的,所以您的问题在其他地方。有些事要检查:
域名是否可以解决您的期望?
是" www.example2.com"和" www.example3.com"在同一台服务器上?问题可能是/ that / server配置?
确保它不是某种浏览器缓存问题。使用curl
或其他没有缓存的命令行HTTP测试工具。
答案 1 :(得分:0)
您是否重新启动了 nginx服务器?
尝试
sudo pkill nginx
然后sudo nginx