① linux搭建Apache(httpd)內網訪問正常,外網無法訪問(精華帖)
大家好,我是「Bigder」
Linux搭建Apache(httpd)後內網訪問正常,外網無法訪問。
網上資料找了幾遍,匯總後關鍵的就是這幾步。
歡迎分享給需要的你~
一、驗證服務本身是否正常
linux命令行,輸入指令:curl http://127.0.0.1/,能正常返回html報文數據
輸入:curl http://linux伺服器的公網IP/
如: curl http://155.153.155.88/
執行超時、沒有內容輸出和返回
說明apache本身的服務是正常的
二、定位
1、防火牆:service iptables status(已經關閉狀態)
沒有關閉,參考這篇關閉掉防火牆:
Linux關閉防火牆-iptables|iptable.service could not be found
2、行~原來是因為阿里雲安全組設置、未開放80埠外網訪問許可權
設置方法:
登入阿里雲工作台,「實例與鏡像」-「實例」-「安全組」
安全組規則手動添加, 入方向開放80埠設置限制
三、再使用:
curl http://linux伺服器的公網IP/
也能列印出html報文數據
這樣代表,外網訪問正常了。一鍵三連、分享給更多的需要的測試人!
以上,
Bigder
我的歷史文章
忘記密碼怎麼辦
Showcase時手機不夠怎麼辦? 雲真機平台atxserver2
xmind2testcase思維導圖的測試點轉化為CSV用例導入禪道
Linux安裝JDK-java: command not found&cannot execute binary file
小改動當天轉測就要上線,要不要寫用例?
測試環境,如何維護才最高效的?
Showcase通過了才算正式提測
輪流測試一個項目、出現bug到底是誰的責任
外包去還是不去
Linux性能壓測命令用ab- command not found、plugins: fastestmirror
已經很努力,但上司總讓我提升能力,還數落我拖後腿,怎麼辦?
Linux關閉防火牆-iptables|iptable.service could not be found
Linux下查找指令Find常見用法
② linux系統下web站點外網無法訪問。
外網要訪問內網部署的web,只能通過DNAT轉發數據包。
假設你的網關外網地址是1.1.1.1,直接通過http://1.1.1.1想實現訪問。
首先你得保證1.1.1.1地址上面的80埠沒有被其他程序佔用。
然後將1.1.1.1的80埠轉發給內網的192.168.8.8加web監聽埠號。
iptables的示例命令:
iptables -I PREROUTING -d 1.1.1.1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.8.8:80
提醒:若此時外網網路可以正常訪問,但內網網路通過外網地址是不可以直接訪問的,原因是netfilter的規劃還不夠,還需要另外設置。若沒有此問題,則你的網關可能不是linux。
③ linux不能訪問外網了
配置文件有誤,注釋掉/etc/sysconfig/network-scripts/ifcfg-eth0N裡面的所有內容,再重啟即可。