AWS EC2 外網不能訪問的坑


概述

今天我在 AWS EC2 上配置並啟動了 nginx,但是通過外網不能訪問,查了一下資料終於解決了,記錄下來供以后開發時參考,相信對其它人也有用。

外網訪問不了的原因

外網訪問不了的原因不外乎有 2 個:

  1. 防火牆
  2. 安全組

防火牆

linux 上的防火牆就是 firewall 了,可以用下面的任意一種方式查看是否開啟了防火牆:

firewall-cmd --state
systemctl status firewalld
status iptables.service

這里 firewall 的相關知識我沒有深入學習,就略過了~

安全組

像阿里雲、亞馬遜的 linux 實例里面都設置有安全組。安全組起着虛擬防火牆的作用,可控制一個或多個實例的流量。安全組的設置在阿里雲或亞馬遜的后台里面設置。

比如說我的 AWS EC2 在外網不能訪問,就是因為安全組沒有對外開啟 80 端口。所以只需要在 AWS EC2 后台的安全組里面設置如下規則即可:

類型:http
協議:TCP
端口范圍:80
來源:0.0.0.0/0, ::/0

類型:https
協議:TCP
端口范圍:433
來源:0.0.0.0/0, ::/0

注意:由於沒有配置 ICMP 規則,所以外網可以訪問,但是 ping 不通~~

其它

我們知道,http 的默認端口是 80;https 的默認端口是 433

還有,ssh 的默認端口是 22;telnet 的默認端口是 23;ftp 的默認端口是 20 和 21,其中 20 負責連接,21 負責傳輸數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM