Nginx/Apache 服务错误的网站
Posted
技术标签:
【中文标题】Nginx/Apache 服务错误的网站【英文标题】:Nginx/Apache serving wrong website 【发布时间】:2011-05-24 09:51:44 【问题描述】:我将 nginx 作为 apache 的反向代理,为 django 站点提供静态文件。我在服务器上有 3 个 django 站点正在运行(并且已经运行了一年多),但是当我尝试添加一个新站点时,nginx 或 apache 正在为一个已经存在的站点提供服务。
例如站点 A.com 和 B.com 已经在服务器上。我正在尝试添加 C.com。我复制了 nginx/apache 配置文件,正确链接它们并正确更改了其中的设置,成功重新启动了 nginx 和 apache,没有错误,但是当我尝试访问 C.com 时,它会加载 A.com! Rackspace 已确认 DNS 是准确的。我查看了日志文件,没有明显的运气。我假设这是 apache,因为它实际上是在为 A.com 渲染 django 代码,或者 nginx 是否会给 apache 提供错误的指令?
我还尝试取消链接指向新 django 代码(“C.com”,并且正在工作!)的工作站点之一,然后在 nginx 和 apache 中重新链接(添加到启用的站点),它也是现在不行了!它只是重定向或默认到 A.com。
除了 apache/nginx 默认值之外,我一直在搜索谷歌,但没有任何关于如何解决这个问题的消息!任何帮助或指导将不胜感激!
这里是示例 nginx 和 apache 配置文件:
nginx
server
listen 111.111.111.111:80;
server_name mynewdomain.com;
rewrite ^/(.*) http://www.mynewdomain.com/$1 permanent;
server
listen 111.111.111.111:80;
server_name www.mynewdomain.com;
location /
proxy_pass http://127.0.0.1:8080/;
include /etc/nginx/proxy.conf;
location /media
root /home/django/mynewdomain;
expires 24h;
阿帕奇:
<VirtualHost 127.0.0.1:8080>
ServerName www.mynewdomain.com
ServerAlias mynewdomain.com *.mynewdomain.com
<Directory /home/django/mynewdomain/>
Order deny,allow
Allow from all
</Directory>
Loglevel warn
CustomLog /var/log/apache2/mynewdomain.com.access.log combined
ErrorLog /var/log/apache2/mynewdomain.com.error.log
WSGIDaemonProcess mynewdomain.com user=www-data group=www-data threads=25
WSGIProcessGroup mynewdomain.com
WSGIScriptAlias / /home/django/mynewdomain/apache/django.wsgi
</VirtualHost>
提前致谢。
【问题讨论】:
【参考方案1】:您的 nginx 配置中缺少这样的一行,您可以将其放在 server
块中的任何位置:
proxy_set_header Host $host;
【讨论】:
以上是关于Nginx/Apache 服务错误的网站的主要内容,如果未能解决你的问题,请参考以下文章