Apache Nginx重定向问题-给出403

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

让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 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地址上匹配,然后在服务器名称上匹配。这可能就是为什么另一个虚拟主机比这个更匹配。