nginx proxy_pass到错误的域名

时间:2016-01-19 10:24:38

标签: nginx

我想使用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

2 个答案:

答案 0 :(得分:1)

您的Nginx语法是正确的,所以您的问题在其他地方。有些事要检查:

  1. 域名是否可以解决您的期望?

    • dig + short www.example2.com
    • dig + short www.example3.com
  2. 是" www.example2.com"和" www.example3.com"在同一台服务器上?问题可能是/ that / server配置?

  3. 确保它不是某种浏览器缓存问题。使用curl或其他没有缓存的命令行HTTP测试工具。

答案 1 :(得分:0)

您是否重新启动了 nginx服务器? 尝试 sudo pkill nginx然后sudo nginx