【问题标题】:nginx + varnish redirect server IP to urlnginx + varnish 将服务器 IP 重定向到 url
【发布时间】:2012-05-27 20:03:03
【问题描述】:

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

如何将指向 IP 地址的请求重定向到我的 URL?我试过这段代码,但最终出现循环重定向错误。

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;
...

【问题讨论】:

  • 你能粘贴你的 VCL 的其余部分吗?
  • 嗨,你是粘贴 VCL 还是你的 nginx.conf ?
  • 这是 nginx.conf。在 VCL 中没有什么可以真正对此产生影响 - 只有服务器定义:backend default { .host = "123.45.678.9"; .port = "8080"; }

标签: redirect nginx varnish


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我这样做了,但就像我写的那样,它没有用,最终进入重定向循环
    猜你喜欢
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 2018-04-11
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多