Apache-2.2

通過埠號密碼保護和服務 Apache 站點?

  • November 4, 2014

我正在嘗試設置客戶網站的受密碼保護的開發版本(Plone CMS 驅動)。

實時站點在埠 7373 上提供服務,並映射到公共 www 埠 80。

“開發”站點在埠 8383 上提供服務,並映射到埠 8111。

我目前無權訪問客戶端 DNS 記錄,因此無法設置子域,但 IP 和不同的埠號都可以。

但是,我無法弄清楚如何使用密碼保護開發站點,同時仍為實時站點提供服務。我對似乎僅適用於文件夾而不是網站的保護設置感到特別困惑?

下面是我擁有的最好的客人(基於我相當缺乏的 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 行可能在 Location 行之前啟動,這可能繞過了身份驗證內容。像這樣的東西怎麼樣:

<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 站點。

引用自:https://serverfault.com/questions/153229