2010-08-19 91 views
8

我想在ubuntu桌面上使用apache的代理模塊來處理xmpp。爲此,我做了以下事情 -apache代理模塊給出403禁止的錯誤

1)通過在啓用mods的目錄中的/ etc/apache2/mods-available /中創建proxy.conf,proxy.load和proxy_http.load的符號鏈接來啓用mod_proxy。

2)的添加以下行虛擬主機

<Proxy http://mydomain.com/httpbind> 
    Order allow,deny 
    Allow from all 
    </Proxy> 

    ProxyPass /httpbind http://mydomain.com:7070/http-bind/ 
    ProxyPassReverse /httpbind http://mydomain.com:7070/http-bind/ 

我是新來使用代理模塊,但我可以從上面的線提出的是,對http://mydomain.com/httpbind請求將被轉發到http://mydomain.com:7070/http-bind/。如果錯誤,請糾正。

3)增加的規則Allow from .mydomain.com在/mods-available/proxy.conf

現在我嘗試訪問http://mydomain.com/httpbind,它顯示403 Forbidden錯誤..

我失去的是什麼?請幫忙。感謝

編輯:這個問題得到有效解決,當我在mods_available改變了下面的代碼/ proxy.conf

<Proxy *> 
      AddDefaultCharset off 
      Order deny,allow 
    Deny from all 
    Allow from mydomain.com       
    </Proxy> 

<Proxy *> 
      AddDefaultCharset off 
      Order deny,allow 
    #Deny from all 
    Allow from all       
    </Proxy> 

沒有得到什麼是錯的初始代碼雖然

+0

這幫了我。 我結束了 將ProxyRequests關閉 ProxyPreserveHost在 RewriteEngine敘述在 <代理HTTP://本地主機:8123> \t訂單拒絕,允許 \t所有 的ProxyPass /節點允許HTTP://本地主機:8123 ProxyPassReverse/node http:// localhost:8123 – dan 2017-01-17 00:53:57

回答

11

我知道這是一個古老的問題,但我在谷歌搜索中找到了它。只是簡要說明爲什麼代碼最初不起作用。

在您的代理定義中,您可以定義「Order deny,allow」。這意味着拒絕語句將優先於允許語句。你的配置中有「拒絕所有」。由於這是優先的,如果你有「全部允許」,這並不重要,它仍然會拒絕所有的。

+0

如果@naiquevin的答案來得太晚,它可以幫助其他人^^ – mcoolive 2014-10-21 13:48:57