Nginx将外部域名重定向到我自己的域名

Nginx将外部域名重定向到我自己的域名

问题描述:

有一个奇怪的域名指向我的服务器的IP地址。 有时DNS会变得困惑,它说我连接到该域而不是我自己的域。Nginx将外部域名重定向到我自己的域名

我尝试了域名所有者和域名注册商接触,以除去DNS指向我的机器的记录,但他们没有帮助所有

现在我想重定向:

www.foreigndomain .COM

www.myowndomain.com

所以当有人类型或打开www.foreigndomain.com它会重定向到我的原始域名,而不是在www.foreigndomain.com下提供我的内容。

我试图把它添加到nginx.conf:

server { 
    server_name .foreigndomain.com; 
    rewrite^http://www.myowndomain.com$request_uri? permanent; 
} 

,但是这将创建一个重定向循环,我不明白为什么。

我该怎么做?

重定向循环发生,因为www.myowndomain.com匹配,做重定向在同一台服务器,来解决这个问题创造另一台服务器,以捕获服务器名称

server { 
    server_name .foreigndomain.com; 
    return 301 http://www.myowndomain.com$request_uri; 
} 
server { 
    server_name www.myowndomain.com; 
    location/{ 
    #config here 
    } 
} 

如果你已经有一个服务器的服务器名称myowndomain.com那么你需要添加www变种。

server { 
    server_name myowndomain.com www.myowndomain.com; 
    location/{ 
    # config here 
    } 
} 
+0

”您需要将www变体添加到myowndomain.com服务器名称中。“ - 这个伎俩。你能解释为什么在这种情况下需要www变体,如果它不是问题? – user1880779 2014-09-03 11:38:05

+0

在nginx中(我想大多数如果不是所有的web服务器)'www.domain.com'与'domain.com'不同,你可以用不同的方式处理每一个,比如将'domain.com'重定向到' www.domain.com',为同一台服务器使用不同的名称,并将它们与同一行中的空格连接起来。 – 2014-09-03 11:48:10

试试这个重写变种:

server { 
    server_name .foreigndomain.com; 
    return 301 http://www.myowndomain.com$request_uri; 
} 
+0

同样的事情。重定向正在发生,但当我尝试打开myowndomain.com时,我得到:“此网页具有重定向循环”。我只是把它放在nginx.conf中,还是在启用站点的文件夹中创建一个新的配置? – user1880779 2014-09-02 22:39:45

+0

您可以放在http {}部分的任何位置,并且“站点已启用”是最好的位置。如果重定向起作用,那么规则是正确的,但我认为其他域设置有问题(www.myowndomain.com)。 “ – 2014-09-03 04:26:10