apache httpd監聽端口配置錯誤導致的網站不能訪問

apache httpd監聽端口配置錯誤導致的網站不能訪問

問題

服務器重啓後,httpd 重啓,發現直接訪問域名www.xxx.cn不能訪問了,但是通過https://www.xxx.cn還能正常訪問。

查找原因

  1. httpd的配置沒有變過,80,443端口對應的vhost 配置沒有問題
  2. 在這臺機器上訪問網站 能正常跳轉
# curl www.xxx.cn
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.xxx.cn/">here</a>.</p>
</body></html>

3.通過查看端口

[# netstat -naop |grep 80
tcp        0      192.168.1.10:80                  0.0.0.0:*                   LISTEN      13523/httpd         off (0.00/0/0)

發現該端口只在內網ip 上監聽

  1. 查看/etc/hosts
192.168.1.10 www.xxx.cn

不知道什麼時候有個這個配置,改爲外網地址,重啓httpd,果然可以訪問了。

  1. 進一步排查httpd 的配置文件,httpd.conf 中
Listen www.xxx.cn:80

Listen:指定服務器監聽的IP和端口。默認情況下Apache會在所有IP地址上監聽。Listen是Apache2.0以後版本必須設置的指令,如果在配置文件中找不到這個指令,服務器將 無法啓動。 語法:Listen [IP-address:]portnumber [protocol] Listen 192.168.2.1:80

6.果斷改配置,所有IP上都監聽80端口,不再依賴於host文件

Listen 80

至此,問題解決,不要輕易使用hosts文件來轉發ip,容易被人改了,導致異常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章