这是我迄今为止:
<VirtualHost *:80> DocumentRoot "/PathToTheFilesThat/theserver/gives/access/to" ServerName docs.mysite.com ProxyPass / http://localhost:8808/ ProxyPassReverse / http://localhost:8808 </VirtualHost>
基本上,我只是想把YARD文档服务器公开给我工作的公司(而不是整个世界),因此需要基本的authentication。
以上目前允许从任何远程机器访问服务器…只需要身份validation。 = d
更新:
<VirtualHost *:80> DocumentRoot "/Users/me/projects/myProject/doc" ServerName docs.mysite.com ProxyPass / http://localhost:8808/ ProxyPassReverse / http://localhost:8808 AuthUserFile /private/etc/apache2/conf/.htpasswd AuthName "Documentation Server, Please Log In" AuthType Basic Require User me </VirtualHost>
当我导航到docs.mysite.com(在控制台中)时会出现此错误
[Tue Feb 21 11:33:04 2012] [error] (61)Connection refused: proxy: HTTP: attempt to connect to [fe80::1]:8808 (localhost) failed [Tue Feb 21 11:33:04 2012] [error] ap_proxy_connect_backend disabling worker for (localhost) [Tue Feb 21 11:35:16 2012] [notice] caught SIGTERM, shutting down
为了在Web服务器入口点启用用户authentication,您必须将以下行添加到VirtualHostconfiguration行。
<VirtualHost> .. .. .. .. .. AuthUserFile /usr/local/apache2/conf/.htpasswd AuthName "yoursite.com, Please Log In." AuthType Basic Require User userallowedtoenter </VirtualHost>
通过添加这些行,每次打开网站,就会popup一个Auth窗口,询问是否允许用户/密码通过。