我前端一台nginx做负载均衡器,在后端使用nginx+php-fpm的方式搭建动态网站,我直接访问动态网站可以正常访问;但是我访问代理服务器就一直返回后端动态服务器的默认网站;我查看后端动态服务器的错误日志提示在默认根目录找不到指定文件,我不理解的是为什么代理后会去默认网站下面找文件;
以下是我的配置信息:代理服务器配置信息
--------------------------虚拟主机配置----------------------
server {
        listen 80;
        server_name www.aa1.com;
        root /web/;
        location / {
                proxy_pass http://dong/;
        }
        location ~* \.(jpg|png|jpeg|html|htm|css|js|gif|xml)$ {
                proxy_pass http://static;
        }
}---------------------upstream配置信息-------------------------
    upstream dong {
        server www.aa2.com:80;
        server www.aa3.com:80;
    }
    upstream static {
        server www.aa4.com:8081;
        server www.aa4.com:8082;
    }
这个是后端动态服务器的配置信息server {
        listen 80;
        server_name www.aa2.com;
        root /web/;
        location ~* \.php$ {
                root /web;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /web/$fastcgi_script_name;
                include fastcgi_params;
        }
        location / {
                index index.php;
                root /web;
        }
}
访问代理服务器查看动态服务器错误日志提示如下信息

解决方案 »

  1.   

    在代理服务器上面我也有添加对应域名的ip地址hosts文件
      

  2.   

    server {
            listen 80;
            server_name www.aa1.com;
            root /web/;
            location / {
                    proxy_pass http://dong/;   #改成   proxy_pass http://dong;  试试
            }