iT邦幫忙

0

apache 顯示 access denied !

最近用centos6.3在區網內架了一個apache的站,就只安裝 mysql,php, apache,centos上的防火牆跟selinux全都關了,在此區網內,任何一台電腦連此網站,都會顯示apache的預設首頁(Apache 2 Test Page)。
但是,如果我透過wan loadbalance的設備,配了一個外部的ip地址來對應到此台centos後,從外部網路來開啟此網站時,就只會顯示"access denied!",但卻一直查不到原因,從外部網路連到內部網路的此站台80port是通的,沒被內/外網中間的硬體防火牆阻擋。
不知是否有大大知道小妹哪邊做錯了,感謝。

ithomegirl提到:
小妹

無圖無真相....臉紅
CalvinKuo iT邦大師 7 級 ‧ 2015-09-08 15:08:04 檢舉
我是覺得要看看那台wan loadbalance設備的設定...
可以試試,找一台可以設DMZ的IP分享器,將外網IP指向centos6.3設備,centos6.3
也要把Gateway設到那台IP分享器。
若運作正常,表示centos6.3這邊沒問題,看看要不要把loadbalance設備設定給邦友看看哪邊有問題。
4
wiseguy
iT邦超人 1 級 ‧ 2015-09-08 08:26:00
最佳解答

就問題本身而言,妳沒做錯什麼。但就發問問題,或說,未來妳自己要找問題上面,根本是很瞎的。從發問內容看起來,妳沒有任何追蹤錯誤的作為,是不知道怎麼追蹤錯誤嗎?bug 就是 bug,它不會突然自己佛心來著就消失了。所以自己要學著怎麼排除錯誤:

  1. access denied 先弄清楚是 balancer 發的,還是 apache 發的。要看哪裡?看 apache log 有沒有連過來的記錄。
  2. 或是打開瀏覽器的開發者工具,監看連線的 http header 是誰回應的 (有沒有 apache 的 version)。
  3. 甚至最簡單的,把 apache 停掉,再試連,若依然有回應 access denied 那就是 balancer 回應的。
    就這樣,一步一步過濾掉可能出錯的地方,就可以找到問題所在,瞭解嗎?要不然 IT 邦的邦友既連不到妳的電腦,妳又沒貼出任何可供判斷的除錯資訊,誰會知道妳的電腦發生什麼事?

感謝~~

  1. 如果我從內部主機去連此apache網站,是會有log產生的。但我從外部網路的主機去連的時後,log裡是沒有任何記錄產生的。
  2. 這個我沒試過,我要研究一下這個工具怎麼用。
  3. 我有試著關閉httpd,然後在連線測試,當我關閉httpd時,網頁就會顯示找不到此網頁。
    httpd啟動時,就顯示access denied。

我想access denied是來自apache主機的回應,但我已將centos 上的防火牆跟selinux都關閉了,httpd.config裡的設定,我也看過沒有deny 什麼,都已調成 allow from all,一直想不到是什麼阻擋了連線。所以還想不到有什麼可以做調整的。

yesongow iT邦大師 1 級 ‧ 2015-09-08 10:32:17 檢舉

ithomegirl 說:
從外部網路的主機去連的時後,apache log裡是沒有任何記錄產生的。
我想access denied是來自apache主機的回應!

屁啦
wiseguy都說這麼清楚了!你當機囉?

你乾脆將CentOS關機,從外部再去連,我保證還是會顯示access denied啦

  1. 我有試著關閉httpd,然後在連線測試,當我關閉httpd時,網頁就會顯示找不到此網頁。
    httpd啟動時,就顯示access denied。

都說這麼清楚了!你當機囉?

2
fillano
iT邦超人 1 級 ‧ 2015-09-07 21:02:54

error log跟access log裡面記錄了什麼?

如果我從內部主機去連此apache網站,是會有log產生的。
但我從外部網路的主機去連的時後,log裡是沒有任何記錄產生的。
我有試著關閉httpd,然後在連線測試,當我關閉httpd時,網頁就會顯示找不到此網頁。
httpd啟動時,就顯示access denied。
我已將centos 上的防火牆跟selinux都關閉了,httpd.config裡的設定,我也看過沒有deny 什麼,都已調成 allow from all,一直想不到是什麼阻擋了連線。

這是log檔的內容

我要發表回答

立即登入回答