nginx on :8080 指向所有域名

nginx on :8080 指向所有域名

我按照这里的说明在子域名上安装了 redmine >http://library.linode.com/web-applications/project-management/redmine/ubuntu-10.04-lucid 它实际上还没有起作用,但是这是另一个故事。

我主要担心的是,任何时候我访问anything.domain.com,我都会被引导到同一个地方(redmine/nginx)。

让我感到困惑的是,如果我有一个用 virtualmin 运行/创建的子域,那么它可以正常工作。看起来端口 8080 是一个总括,而我更喜欢端口 80 上的 apache 是一个总括,这样它可以说“你没有权限”。

这是我的虚拟主机(我也使用 localhost:8080 而不是域名,似乎没有什么区别。

<VirtualHost 50.116.11.1:80>
 ServerAdmin [email protected]
 ServerName proj.domain.com

 ProxyPass / http://proj.domain.com:8080/
 ProxyPassReverse / http://proj.domain.com:8080/

 # Uncomment the line below if your site uses SSL.
 SSLProxyEngine On
</VirtualHost>

也许我找错了地方?谢谢!

答案1

不确定哪个更好,两者似乎都有效,尽管根据这里还有另一个答案,这是正确的方法

<VirtualHost 111.11.1.1:80>
        ServerName  sub.domain.net (one i want nginx on)
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                allow from all
        </Proxy>
        ProxyPreserveHost On
        ProxyPass / http://domain.net:8080 (all other, i want apache on everything except sub)
        ProxyPassReverse / http://domain.net:8080
        ProxyErrorOverride Off
        ErrorDocument 404 /notavail.html
    </VirtualHost>

答案2

正确,谢谢亚历克斯。

我将代理端口改为 80

所以现在我在 /etc/apache2/sites-available/sub.domain.net 中有这个,除了指定域之外的所有内容都转到端口 80

<VirtualHost 50.111.11.1:8080>
 ServerAdmin [email protected]
 ServerName sub.domain.net

 ProxyPass / http://localhost:80/
 ProxyPassReverse / http://localhost:80/

 # Uncomment the line below if your site uses SSL.
 # SSLProxyEngine On
</VirtualHost>

相关内容