Apache-Httpd

在 CentOS 中設置 Web 伺服器的問題

  • August 14, 2018

我想在我的一台電腦(Dell Desktop)上設置一個 Web 伺服器,並決定使用 CentOS 作為作業系統。Apache 安裝正確(我認為 pgrep httpd 返回一堆正在執行的程序)。我也認為我的 httpd.conf 文件沒問題(我已經閱讀了 4 篇關於 apache 設置的教程)。我的 ISP 是康卡斯特。我在埠 80 和 8080 上都有 httpd 監聽。

但它不起作用,我不知道為什麼。我有一個朋友嘗試查看我的 test.html 頁面(位於 /var/www/html/ - 它應該在的位置。)並且他收到了 http 錯誤 504,這似乎與代理或防火牆有關,兩者都沒有我有。

我有幾個問題: 1) 有沒有一種方法可以在不讓外部朋友嘗試查看我的網頁的情況下測試我的設置?當我使用其本地地址 (192.168.1.5) 作為 url 時,我自己在伺服器上的瀏覽器可以正常查看該頁面,但我網路上另一台電腦 (192.168.1.3) 上的瀏覽器無法看到該頁面。2) 具體來說,執行 Web 伺服器需要什麼?只是一個正確配置的apache?假設我不需要 php 或任何 sql 功能。3)康卡斯特有可能以某種方式搞砸了系統嗎?4)是否有可能我自己的路由器以某種方式弄亂了系統(如果是的話,看不到它)?

我似乎無法附加我的 httpd.conf 文件。我不想在這裡剪切和粘貼它,因為它太長了(即使刪除了評論)。

預設情況下,CentOS 的防火牆 (iptables) 設置為不允許埠 80 上的傳入流量。

執行此命令以允許埠 80 上的傳入流量:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

然後執行這個來保存配置:

/sbin/service iptables save

這些命令需要以 root 身份執行。不需要重新啟動任何服務以使更改生效。

更多關於 CentOS 的 iptables 的資訊可以在他們的 wiki 在 CentOS.org 的How To部分找到。


關於您的朋友無法連接:

您的路由器很可能會將他拒之門外。康卡斯特有線調製解調器也可能將他拒之門外。

大多數路由器預設設置為使用 DHCP 和路由。這意味著您的路由器已根據自己的 IP 範圍、子網遮罩和網關為您的電腦分配了一個內部 IP 地址。來自您的 ISP 分配的 IP 地址的所有流量都通過路由器路由到它通過 DHCP 分配給您的電腦的 IP 地址。

為了允許來自埠 8080 上的外部源的流量通過路由器,您需要設置從指定埠上的外部源到路由器分配的 IP 地址的埠轉發。這是在路由器配置中完成的。

一種替代方法是將您的電腦置於 DMZ(非軍事區)中,這將允許所有傳入和傳出的流量不被過濾到該電腦。請注意,這是一個巨大的安全風險,不建議這樣做。但是,如果您選擇這樣做,此設置通常也可以在路由器配置中找到。

引用自:https://unix.stackexchange.com/questions/43992