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

AWS EC2 Ubuntu环境下Flask API配置Nginx SSL后HTTPS请求失败

问题排查与解决方案

核心错误点

你调用HTTPS接口时额外加了:5000端口,这是问题根源——Nginx在443端口处理SSL请求,而5000是Gunicorn的监听端口,它并未配置SSL,自然无法响应HTTPS请求。


分步解决

1. 修正访问地址

直接访问:

https://ec2-54-190-34-8.us-west-2.compute.amazonaws.com/-data/languages

(去掉末尾的:5000,HTTPS默认使用443端口,Nginx已在该端口监听SSL请求)

2. 调整Nginx的server_name配置

将server_name替换为你的公网域名/公网IP,而非内网IP,否则Nginx无法匹配到当前server块:

server {
    listen 443 ssl;
    ssl_certificate /home/ubuntu/ssl/cert.pem;
    ssl_certificate_key /home/ubuntu/ssl/key.pem;
    server_name ec2-54-190-34-8.us-west-2.compute.amazonaws.com;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location / {
        include proxy_params;
        proxy_pass http://127.0.0.1:5000;
    }       
}

3. 检查EC2安全组入站规则

确保安全组允许**443端口(HTTPS)**的入站流量,来源可设置为指定IP或0.0.0.0/0(公开访问)。

4. 验证Nginx配置并重启

先检查配置合法性:

sudo nginx -t

若输出test is successful,重启Nginx生效:

sudo systemctl restart nginx

额外排查方向

  • 确认证书文件路径正确,且Nginx进程有权读取:可执行sudo chmod 644 /home/ubuntu/ssl/*.pem调整权限
  • 查看Nginx错误日志/var/log/nginx/error.log,里面会记录证书无效、端口占用等具体报错信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 05:58:22