nginx + varnish将服务器IP重定向到url

时间:2012-05-21 10:07:06

标签: redirect nginx varnish

我在端口8080上有nginx,它位于端口80上运行的varnish后面。我的服务器上只有一个网站。问题是你也可以通过服务器的IP地址访问它,而不仅仅是url。谷歌索引这个IP,我担心重复内容的问题。

如何将请求转发到我的网址的IP地址重定向?我尝试了这段代码,但最终出现了循环重定向错误。

server {
    listen 180.10.1.1:80;
    server_name 180.10.1.1;
    rewrite .* http://www.mysite.com$request_uri permanent;
}

感谢

编辑: 其余的vcl

server {
    listen   8080;
    server_name  site.com;
    access_log  /var/log/nginx/localhost.access.log;
    error_page 502  /502.html;

## Default location
    location / {
        root   /home/site.com/public_html;
        index  index.php;
...

2 个答案:

答案 0 :(得分:1)

有几种方法可以解决这个问题。如果当您访问服务器IP地址时Nginx也在为site.com提供服务,那么您应该调整Nginx配置,以便任何针对IP地址的请求重定向到site.com。然后重新启动Nginx和Varnish。

答案 1 :(得分:1)

好的问题是listen指令中的“180.10.1.1:”。我只留在那里“听80”,现在工作正常:)