服務器在公司測試的時候,能夠在局域網內正常訪問,服務器托管到電信機房后,電信要求服務器和域名必須備案后,才會開通服務器的外網80端口(未備案的外網80端口關閉,外網無法通過域名和ip訪問),期間經過了2個月的備案過程,后來電信通知說已經開通了外網80端口了,但是我測試的時候發(fā)現外網還是無法訪問網站,于是開始有了下面的排除過程,特此記錄分享。
第一步:關閉系統(tǒng)防火墻和其他安全軟件,測試發(fā)現還是無法訪問。
第二步:檢查服務器上是否80端口被其他進程占用。
參考:http://jingyan.baidu.com/article/cd4c2979f77163756e6e608e.html
主要使用DOS命令如下
netstat -an
netstat -aon|findstr "80"
tasklist|findstr "2448"
和正常服務器對比后發(fā)現少了0.0.0.0:80,多了127.0.0.1:80這個,根據多出的127.0.0.1:80的pid找出了對應的進程是system(正常的服務器0.0.0.0:80根據pid找出的進程也是system),于是我開始猜測,是不是服務器上安裝的軟件把80端口占用了,于是我開始卸載服務器上安裝的沒用的軟件,如殺毒軟件,防火墻軟件、QQ等,卸載完畢后,重啟服務器,發(fā)現還是無法訪問。
在網上查找了一段時間后,發(fā)現有的說是MS SQL Server 2008的服務SQL Server Reporting Services 占用80端口,服務器安裝的是SQLserver2008r2,于是馬上停止了這個服務,測試還是無法外網訪問。
第三步:排除是服務器上的80端口問題,還是電信沒給開通外網的80端口。
在網上查找了1天后,發(fā)現有個帖子里面說是電信根本沒給開通80端口,于是我測試服務器80端口是否有問題,想到的辦法就是把原來的網線拔掉,用另外一條網線,接一臺筆記本,確認服務器的局域網ip,如192.168.1.222,然后在筆記本上的開始菜單-》運行-》輸入cmd,回車-》然后輸入telnet 192.168.1.222 80,如果80端口沒有問題,會馬上替換為一個新的黑色的窗口,說明連接成功,如果20幾秒后,出現 “連接到192.168.1.222...不能打開到主機的連接,在端口80:連接失敗”,說明是服務器上的80端口有問題。在筆記本上telnet后發(fā)現局域網上連接80端口確實無法連接上,因此斷定是服務器的問題了。
第四步:重裝IIS。
回想起在服務器備案的過程中,當時有嘗試在服務器上安裝DNS服務器,結果安裝失敗,猜測可能是這個原因導致iis的配置被改變了,于是將IIS卸載,然后再重新安裝,測試發(fā)現網站恢復正常,糾結幾天的問題終于解決。
省時省力的解決步驟:
1、拿一條網線,一端接上服務器,一端接上筆記本電腦,局域網內測試服務器80端口是否有問題,詳見上面第三步,也可以將網站不綁定域名,直接ip訪問,看看網站能否打開;
2、如果確定是服務器80端口無法連接上,嘗試上面第二步的端口是否占用,如果還不行,就重裝IIS;如果不是服務器80端口問題,咨詢電信配置端口映射的技術員,看看是否做了端口映射(服務器有經過路由器的)。
由于經驗不足,剛開始一直以為是電信的問題,電信說開通了80端口,一般不會那么沒譜,如果他們說開通了,一般就不會是他們的問題了,多找找自己服務器上的問題。
最新發(fā)現,有可能是在服務器運行了這句命令后導致
netsh http show iplist #check if the 127.0.01 is listed
netsh http add iplisten 127.0.0.1
https://social.technet.microsoft.com/Forums/zh-CN/d719a3f9-56bb-4964-90df-1e21f3d51fd5/-winrm-?forum=windowsserversystemzhchs
解決運行->cmd->輸入回車即可:
netsh http delete iplisten ipaddress=127.0.0.1
聯系客服