AWS EC2 无法使用公共 IP 连接到端口 80但是使用私有IP,它可以正常工作

问题描述

我有一个使用 Nginx 配置为代理服务器的 ec2。 443端口可以使用公网IP和私网IP访问服务器。但是端口 80 仅适用于私有 IP。公共 IP 端口 80 超时。

此服务器位于 Classic Loadbalancer 后面。 Nginx 配置为将 http 重定向到 https。

这是'/sbin/iptables -L'的输出

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

安全组也正确打开了端口 80。

我使用的是 amazon linux 2 AMI (ami-0be2609ba883822ec)。

这是/etc/Nginx/conf.d/default.conf文件

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    charset utf-8;
    location / {
        resolver  10.100.0.2;
        return 301 https://$host$request_uri;
    }
}
server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    location / {
        resolver  10.100.0.2;
        set $elb 'https://internal-ecomed24-h-rELBApp-11UG9OFCA2E70-1492820851.us-east-1.elb.amazonaws.com';
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass $elb;
    proxy_pass $elb;
}
include snippets/self-signed.conf;

}

'sudo netstat -tulpn 的输出 | grep 听'

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3221/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2995/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      4354/Nginx: master  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2500/rpcbind        
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4354/Nginx: master  
tcp6       0      0 :::22                   :::*                    LISTEN      3221/sshd           
tcp6       0      0 :::443                  :::*                    LISTEN      4354/Nginx: master  
tcp6       0      0 :::111                  :::*                    LISTEN      2500/rpcbind        
tcp6       0      0 :::80                   :::*                    LISTEN      4354/Nginx: master  

感谢有人能帮我解决这个问题。 谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...