You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2上Nginx HTTPS连接不生效 仅IP:端口可正常访问Flask应用

问题根源
  • 你当前配置的443端口监听未添加ssl标识,也未配置对应SSL证书参数,Nginx无法正常处理HTTPS请求,是无返回内容的核心原因
  • 未删除default软链接时,Nginx默认服务块优先级高于你写的无有效HTTPS配置的服务块,因此访问时返回默认页
  • 你未配置代理请求头,即使后续连通服务,Flask也可能无法获取正确的客户端请求信息
解决步骤

1. 安装SSL证书申请工具

执行命令安装certbot用于申请Let's Encrypt免费SSL证书:

sudo apt update && sudo apt install certbot python3-certbot-nginx -y

2. 修正Nginx配置

编辑/etc/nginx/sites-enabled/flaskapp文件,替换为以下配置:

# HTTP请求自动重定向到HTTPS
server {
    listen 80;
    server_name ec2-xx-xx-xx-45.ap-south-1.compute.amazonaws.com;
    return 301 https://$host$request_uri;
}

# HTTPS服务配置
server {
    listen 443 ssl;
    server_name ec2-xx-xx-xx-45.ap-south-1.compute.amazonaws.com;

    # 以下SSL配置会由certbot自动填充,无需手动修改
    # ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;
    # include /etc/letsencrypt/options-ssl-nginx.conf;
    # ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:8000;
        # 配置代理头,保证Flask能获取正确的请求信息
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. 申请SSL证书

执行certbot命令,按照提示完成证书申请和自动配置:

sudo certbot --nginx -d ec2-xx-xx-xx-45.ap-south-1.compute.amazonaws.com

4. 验证配置并重启服务

先检查配置语法是否正确:

sudo nginx -t

返回syntax is ok和test is successful后,重载Nginx生效:

sudo systemctl reload nginx

5. 安全组检查

确认AWS EC2实例关联的安全组已经开放443端口的入站规则,允许0.0.0.0/0访问。

多应用部署方案

如果需要在同一台EC2上部署多个HTTPS应用,按以下操作即可:

  • 为每个应用分配不同的域名(可使用自有域名的不同子域名,均解析到当前EC2公网IP)
  • 每个应用对应gunicorn启动时使用不同的端口,比如第二个应用使用8001端口
  • 在/etc/nginx/sites-available目录下新建对应应用的配置文件,参考上述flaskapp配置修改server_name和proxy_pass端口
  • 执行ln -s /etc/nginx/sites-available/新配置文件名 /etc/nginx/sites-enabled/创建软链接
  • 用certbot为新域名申请SSL证书,重载Nginx即可生效

内容的提问来源于stack exchange,提问作者dhairyashil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:18:02