2016-06-27 54 views
2

我有一個Apache服務器設置作爲一些後端服務器前的反向代理。其中一臺後端服務器需要基本認證,但Apache似乎從請求中刪除了Authorization標頭。Apache ProxyPass刪除授權標頭

我是否必須配置一些特殊的東西才能使Apache將Authorization標頭傳遞給後端服務器?

我的Apache配置是非常基本的。我只加了一些代理的指令,如:

ProxyRequests Off 
ProxyPass /backend-server https://backend.server 

SSLProxyEngine on 

回答

0

事實證明,這不是Apache的時候刪掉了Authorization頭,但我們的網絡中的一些其他防火牆組件。

我們更改了防火牆中的設置,現在上面的ProxyPass指令正常工作!

1

您必須設置proxy-chain-auth環境變量:

如果代理服務器需要身份驗證,它會讀取並消耗由發送的 代理身份驗證憑據客戶。通過 proxy-chain-auth,它也會將憑證轉發給鏈中下一個 代理。如果您有一個共享認證信息的代理鏈,則這可能是必需的。安全警告: 沒有設置,除非你知道你需要它,因爲它轉發敏感的 信息!

http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html

<Location /> 
    AuthType basic 
    SetEnv proxy-chain-auth 
</Location> 
+0

感謝您的回覆。原來,它不是代理鏈驗證,而是我們網絡中的其他組件。 –