V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wjpauli
V2EX  ›  Amazon Web Services

新开了 EC2,默认配置, 80 433 的入站全开, apache 连不上阿?

  •  
  •   wjpauli · 2022-09-28 10:57:34 +08:00 · 4792 次点击
    这是一个创建于 779 天前的主题,其中的信息可能已经有所发展或是发生改变。

    都是 en 版的 aws ,之前有个账户,昨天新开的 ec2 实例,发现外网连不上 apache ,以为是 vpc 自己以前玩坏了,早上重新注册了一个,默认 vpc ,什么都没有改,结果 debian 装完 apache 后公网 ip 还是打不开。

    已经排除:

    1. 入站规则加上了 80 、22 、433
    2. 用的是.com 版的 aws ,听说中国版的要备案才能开端口
    3. 甚至怀疑 debian11 有什么新特性,特意开了个 amazon linux2 ,一样的问题

    还有什么要排查的地方?这东西太差劲了,不能新开的账户默认的设置都不能开个 apache ????

    46 条回复    2022-09-29 13:40:20 +08:00
    yqf0215
        1
    yqf0215  
       2022-09-28 10:59:02 +08:00
    apache 启动了没有?
    wjpauli
        2
    wjpauli  
    OP
       2022-09-28 11:04:02 +08:00
    apache 启动了。ip 地址没有输错。ssh 进去后用 curl 127.0.0.1 和 curl 公网 ip 都可以得到 apache 的默认页面。
    serialt
        3
    serialt  
       2022-09-28 11:05:04 +08:00
    服务及监听端口,防火墙,安全组 不通基本都是这几个问题
    wjpauli
        4
    wjpauli  
    OP
       2022-09-28 11:06:29 +08:00
    @serialt 我全新账户注册的,什么都没碰,难道这玩意故意设置障碍。。。
    Pythondr
        5
    Pythondr  
       2022-09-28 11:10:05 +08:00
    internet gateway 的 route table 配了没有
    wuvvu
        6
    wuvvu  
       2022-09-28 11:10:28 +08:00
    https 是 443 端口
    wjpauli
        7
    wjpauli  
    OP
       2022-09-28 11:11:33 +08:00
    @wuvvu typo 谢谢谢谢
    wjpauli
        8
    wjpauli  
    OP
       2022-09-28 11:12:29 +08:00
    @Pythondr 有阿。新注册的都自带。
    julyclyde
        9
    julyclyde  
       2022-09-28 11:13:26 +08:00
    @wjpauli 在它内部访问公网 IP 可以,外边不可以,那看起来很像 security group 的问题啊
    elevioux
        10
    elevioux  
       2022-09-28 11:14:57 +08:00 via Android
    可能问的有点多余,监听的是地址是?
    wjpauli
        11
    wjpauli  
    OP
       2022-09-28 11:15:01 +08:00
    不是阿个位大佬,我的主要疑问是这东西我默认配置新开的账户什么都没有碰,刚开箱就不能用么???
    BeautifulSoap
        12
    BeautifulSoap  
       2022-09-28 11:15:49 +08:00
    你把 ec2 实例放在了 private subnet 里面了吧。private subnet 里的话虽然可以分配公网 ip 但是没法访问的(因为这个 subnet 里没有配置外部流量的路由)
    ZE3kr
        13
    ZE3kr  
       2022-09-28 11:17:43 +08:00 via iPhone
    你 ssh 到服务器测一下 localhost:80 能不能通?
    npe
        14
    npe  
       2022-09-28 11:19:41 +08:00
    联系我,5 分钟搞定, 有偿
    BeautifulSoap
        15
    BeautifulSoap  
       2022-09-28 11:21:40 +08:00
    @BeautifulSoap 啊,不好意思,没看到能 ssh 进去 orz
    tudoutudou
        16
    tudoutudou  
       2022-09-28 11:30:07 +08:00
    开个端口让我连上去看看(手动狗头
    k1z
        17
    k1z  
       2022-09-28 12:02:12 +08:00
    应该是需要建立一个互联网网关之类的什么东西, 可以在 vpc 里边看看。 之前遇到过, 是因为新开通的区域都需要新建一个类似网关的东西出来才可以上网。
    julyclyde
        18
    julyclyde  
       2022-09-28 12:07:53 +08:00
    @k1z internet gateway 不是默认就有的嘛?
    mengzhuo
        19
    mengzhuo  
       2022-09-28 12:13:15 +08:00
    AWS 有个联通性工具查询的,忘了叫啥来着
    按我的经验是:security group, 防火墙, NAT ,EC2 本身的防火墙,软件本身绑定端口
    k1z
        20
    k1z  
       2022-09-28 12:14:10 +08:00
    @julyclyde 那可能不是这个互联网网关, 可能是别的东西,需要创建出来才行。 不然 ping 给的公网 ip 都不通的
    ChrisFreeMan
        21
    ChrisFreeMan  
       2022-09-28 12:17:44 +08:00   ❤️ 9
    eason1874
        22
    eason1874  
       2022-09-28 12:52:16 +08:00   ❤️ 1
    @wjpauli 主要是你这问题说难它不算难,有经验的看着界面几分钟就排查完。但说简单它又不简单,因为涉及的细节太多了,一下不知从何说起啊

    @k1z #20 你说的应该是弹性 IP 。弹性 IP 关联弹性网卡,弹性网卡关联到 EC2 ,这样公网 IP 才能通向 EC2 。然后安全组关联到网卡,也可以关联到 EC2 (同步关联对应的网卡),修改安全组的规则允许流量进出。接下来才是服务器内部设置
    BeautifulSoap
        23
    BeautifulSoap  
       2022-09-28 12:55:16 +08:00
    看了下回复,请问 lz ssh 是通过电脑上的 ssh 客户端连上去的,还是直接在 aws 网页上进的 ssh 。如果是通过自己电脑 ssh 进去的话,那么证明 ec2 没有放到 private subnet 里,可以通过公网访问。然后 curl localhost 可以获取到网页证明 apache 启动没问题,监听端口没问题。那么问题八成出在 security group 里,可能你没配置好
    s524256521
        24
    s524256521  
       2022-09-28 13:21:23 +08:00 via iPhone
    @BeautifulSoap 我 ssh 能进去,web console 却不能,一直转圈,是哪方面的问题呀?
    wjpauli
        25
    wjpauli  
    OP
       2022-09-28 13:25:22 +08:00
    @BeautifulSoap 谢谢你认真看了我的贴子。我 ssh 是从自己电脑过去的。安全组里我看了下,不就是入站的三个规则么 22 、80 、443 。我是真懒得再开个 8080 的 lighttpd 去试。。。并且预感再开别的端口也一样。
    SunsetYe
        26
    SunsetYe  
       2022-09-28 14:12:59 +08:00
    跑一个 Reachability Analyzer 看看?
    或者可以参考这篇文章: https://aws.amazon.com/cn/premiumsupport/knowledge-center/ec2-instance-hosting-unresponsive-website/
    yohole
        27
    yohole  
       2022-09-28 14:24:21 +08:00
    多年前白嫖过 AWS 一年,不管是控制台操作、网络配置等等都觉得比较难适应,后面用了一两个月就荒废了
    wjpauli
        28
    wjpauli  
    OP
       2022-09-28 15:17:59 +08:00
    @SunsetYe 这篇文章都通过了,除了这个:确保实例子网中的路由表含有一个指向某个互联网网关的默认路由。
    ACL 里是有的,但是有些地方不明白是什么意思,只好啃这个:
    https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-tables-internet-gateway
    wjpauli
        29
    wjpauli  
    OP
       2022-09-28 15:21:20 +08:00
    @yohole 我也是想白嫖 AWS ,因为用了十几年的 softlayer 的 bare metal ,越用越穷,想找个简单的至少一个月不用花这么多,没想到吃现成的比自己维护还麻烦。
    yohole
        30
    yohole  
       2022-09-28 15:24:53 +08:00
    @wjpauli AWS 好像一直多有新人绑定信用卡可以白嫖一年的优惠;后面了解了一下,正常情况 AWS 的收费规则是比较复杂,而且费用好像也不便宜,而且当时是想用来搭建一下畅游互联网的通道的,但是发现国内连过去也非常卡,就没折腾了
    zidian
        31
    zidian  
       2022-09-28 15:37:05 +08:00
    默认的 vpc 能阻止访问的好像只有 security group 吧。可以把你的配置贴出来看看
    jackma0571
        32
    jackma0571  
       2022-09-28 15:46:35 +08:00
    我好像也是,开了实例以后,AWS 自带的 SSH 就是一直连不上去,但是用 Windows SSH 工具倒是连接正常,我也就没管了
    darkengine
        33
    darkengine  
       2022-09-28 15:54:45 +08:00
    直觉是 security group 的配置问题,配置端口的前边有 IP 范围,没填好也访问不了
    SunsetYe
        34
    SunsetYe  
       2022-09-28 18:31:55 +08:00
    @wjpauli 按照你说的这一条,应该是:
    Instance - 点击 Subnet ID - Route Table ,有一条类似 0.0.0.0/0 -> xxx (比如 nat-xxx, eigw-xxxx)
    think2011
        35
    think2011  
       2022-09-28 18:41:27 +08:00
    同款头像
    xiaket
        36
    xiaket  
       2022-09-28 18:51:44 +08:00
    能 describe 一下 ec2, 再 describe 一下 ec2 上的 sg?
    wjpauli
        37
    wjpauli  
    OP
       2022-09-28 19:19:55 +08:00
    @zidian 不会贴图。
    跟楼上的漫画大佬学的
    [img]https://imgur.com/kYsTh5F[/img]
    wjpauli
        38
    wjpauli  
    OP
       2022-09-28 19:20:20 +08:00
    靠。时代变了。
    wjpauli
        39
    wjpauli  
    OP
       2022-09-28 19:29:20 +08:00
    @SunsetYe 路由表里面是这样的:0.0.0.0/0 ->igw-互联网网关 id ,下面还有一个内网 ip/16 ,目标是 local 。igw-互联网网关 id 对应了 vpc id 。这些都是默认设置没有修改也不会。

    Yien
        40
    Yien  
       2022-09-28 21:48:31 +08:00
    是不是域名或 IP 被墙或墙端口了?用 https://port.ping.pe 测试一下。
    wjpauli
        41
    wjpauli  
    OP
       2022-09-28 22:23:50 +08:00
    @Yien 我 x ,我刚才用你这个试了一下,发现无论 us 还是 cn 都可以连上,然后自己再访问就可以了。我什么都没有做,而且在发帖之前就已经排除了 ip 被墙的可能。这样神奇的产品,我真的没信心用 aws 代替我的 bare metal 了。。。。
    wjpauli
        42
    wjpauli  
    OP
       2022-09-28 22:33:12 +08:00   ❤️ 1
    各位大佬,我知道是怎么回事了。

    我都没脸说:
    我点击的 aws 的实例界面公网 ip 旁边的“打开连接”,然后 chrome 就打开了这个连接。但是这个连接是 https 的,而 chrome 会隐藏前面的 https 部分,地址栏只显示公网的 ip 地址,因为 apache 只执行了默认安装,没有 443 。随后我每次输入公网 ip ,chrome 都会默认补齐后面的地址,重复访问 https ,并且地址栏没有任何提示。

    直到上面的大兄弟让我试了那个 ping.pe ,我侥幸的复制了完整的 http://ip 到 chrome ,烦恼全消除。

    折腾了一天,居然是这么搞笑的问题,说明对未知事物不了解,每一步都不知道自己做的对不对,错了也不知道哪错了,可悲可泣。
    Yien
        43
    Yien  
       2022-09-28 23:05:24 +08:00 via Android
    😄禁止 chrome 隐藏吧
    timpaik
        44
    timpaik  
       2022-09-29 00:15:24 +08:00 via Android
    建议改用 firefox ,chrome 坏
    Alex777
        45
    Alex777  
       2022-09-29 10:01:38 +08:00
    右键点击 chrome 地址栏,然后勾上 Always show full URLs
    wjpauli
        46
    wjpauli  
    OP
       2022-09-29 13:40:20 +08:00
    今天全部搞定,这免费的比我一个月四位数的独立主机舒服多了,不敢说比独立主机快,但一点都不慢。感觉一下子赚了好多钱哈哈哈。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1433 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:39 · PVG 01:39 · LAX 09:39 · JFK 12:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.