Apache Nginx重定向问题-给出403
让Nginx代理到Apache。但对于一个域,我根本不想调用Apache。只想将此域转发到另一个域(父域) 这是我的Apache Nginx重定向问题-给出403,apache,redirect,nginx,rewrite,Apache,Redirect,Nginx,Rewrite,让Nginx代理到Apache。但对于一个域,我根本不想调用Apache。只想将此域转发到另一个域(父域) 这是我的/etc/nginx/vhost/child.com代码: server { server_name child.com www.child.com; rewrite ^ http://www.parentdomain.com$request_uri? permanent; } 但是当我做curl-I child.com时,我看到: HTTP/1.1 403 Forb
/etc/nginx/vhost/child.com
代码:
server {
server_name child.com www.child.com;
rewrite ^ http://www.parentdomain.com$request_uri? permanent;
}
但是当我做curl-I child.com时,我看到:
HTTP/1.1 403 Forbidden
Server: Domo Hosting
Date: Wed, 06 Aug 2014 13:34:21 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Vary: Accept-Encoding
Content-Length: 321
我做错了什么?所有其他Nginx域都按预期工作,Apache/Nginx配合得很好
谢谢 您忘记添加“listen”指令
listen <IPADDRESS>:80;
听:80;
如果没有这一点,Nginx不知道它应该监听端口和IP地址,因此vhost目前没有任何功能。谢谢。这修复了403并使其成为200:它只是显示了Nginx的默认“Itworks!”现在是什么。在Nginx中,我可以做些什么来真正地将一个域转发给另一个域?我认为您有另一个vhost处于活动状态,可能是默认的vhost?显然vhost比这个匹配得更好。你可以试着禁用它,看看它是否有效。或者您可以尝试找出其他vhost比此vhost更匹配的原因。这是一个标准的Nginx设置,其中
/etc/Nginx/vhost
具有多个域。每个域本身就是一个文件,每个域的文件中都有一个server\u name
指令。此目录中没有其他文件具有此域的服务器名称。因此,我怀疑是否有任何其他vhost专门用于此域。还是我遗漏了什么?好吧,我解决了。“监听”需要一个IP和一个端口。我只有一个端口,如web上的一些示例所示。谢谢太好了。虚拟主机首先在IP地址上匹配,然后在服务器名称上匹配。这可能就是为什么另一个虚拟主机比这个更匹配。