我试图设置一个密码保护的客户端网站的开发版本(Plone CMS驱动)。
现场网站服务于7373端口,并映射到公共www端口80。
'dev'站点服务于端口8383,映射到端口8111。
我目前不能访问客户端的DNSlogging,所以我不能build立一个子域,但是IP和不同的端口号都可以。
但是,我仍然无法解决如何密码保护开发网站,同时仍然服务于现场。 我特别是由保护设置flummoxed似乎只为文件夹,而不是网站?
下面是我有的最好的客人(基于我相当缺乏apache-foo),但是这只服务于活的网站,而不是开发网站,或火灾的密码!
<VirtualHost *:80> ServerAlias www.site.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On ProxyPass / http://localhost:7373/VirtualHostBase/http/site.com:80/plonesite/VirtualHostRoot/ ProxyPassReverse / http://localhost:7373/VirtualHostBase/http/site.com:80/plonesite/VirtualHostRoot/ </VirtualHost> <VirtualHost 123.456.789.123:8111> <Location /plonesitetest/> AuthType Basic AuthName "Dev Server" AuthUserFile "/home/admin/.htpasswd" Require valid-user </Location> ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On ProxyPass / http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/ ProxyPassReverse / http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/ </VirtualHost>
您的ProxyPass线路看起来有点令人困惑,端口号在URL的中途。 这是真的如何设置plone服务器来处理传入的请求(端口号在文件/目录名称)?
代理的东西是非常具体的订单。 从apache文档的快速检查,它看起来像ProxyPass线路可能踢在位置线之前,这可能绕过authentication的东西。 怎么样这样的事情:
<Location /plonesitetest/> AuthType Basic AuthName "Dev Server" AuthUserFile "/home/admin/.htpasswd" Require valid-user ProxyPass http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/ ProxyPassReverse http://localhost:8383/VirtualHostBase/http/123.456.789.123:8111/plonesitetest/VirtualHostRoot/ </Location>
这将代理请求http://123.456.789.123:8111/plonesitetest/到plone网站。
Respost: <VirtualHost *:8282> ServerName www.gpscoder.com ProxyPass / http://www.gpscoder.com:8080/ ProxyPassReverse / www.gpscoder.com:8080/ ProxyPreserveHost on <Proxy *> AuthType Basic AuthName "Dev Server" AuthUserFile "/var/www/xxxxxxx/.htpasswd" Require valid-user </Proxy> </VirtualHost>
活网站
<VirtualHost *:80> ServerName siteurl.com DocumentRoot "/path/to/live/site" ProxyPreserveHost On ProxyRequests Off Proxypass / http://siteurl.com:7373/ ProxypassReverse / http://siteurl.com:7373/ </VirtualHost>
然后为您的开发网站
<VirtualHost *:8111> ServerName siteurl.com DocumentRoot "/path/to/dev/site" ProxyPreserveHost On ProxyRequests Off Proxypass / http://siteurl.com:8383/ ProxypassReverse / http://siteurl.com:8383/ <Proxy *> AuthUserFile /home/admin/.htpasswd AuthType Basic AuthName "Dev Server" Require valid-user </Proxy> </VirtualHost>
这将有所帮助。
Google的第一个结果: vhost password 。