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

Flask应用HTTP可访问所有接口,HTTPS仅根路径可用问题求助

问题解决:HTTPS下非根路径返回404的原因及修复

你的问题根源在HTTPS对应的Nginx server块里的try_files指令——它会拦截非根路径的请求,优先尝试在本地文件系统查找资源,找不到就直接返回404,不会转发给Gunicorn处理Flask接口。

修复步骤:修改Nginx的HTTPS配置块

打开/etc/nginx/sites-available/default,找到HTTPS对应的server块,移除try_files $uri $uri/ =404;这一行,修改后的location /配置如下:

location / {
        proxy_pass http://jobapplication;
        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 https;
        include proxy_params;
}

原因说明

  • HTTP的server块没有try_files指令,所有请求都能正常转发给Gunicorn处理Flask路由;
  • HTTPS的server块加了try_files后,Nginx会先检查/var/www/html下是否存在对应文件/目录(比如get_skillsets),显然不存在,就直接返回404,跳过了转发给Gunicorn的流程;
  • 直接访问5000端口绕过了Nginx,所以Flask能正常处理所有路由。

验证修复

修改配置后,执行命令重启Nginx生效:

sudo systemctl restart nginx

再测试HTTPS下的非根接口(比如https://nearhire.app/get_skillsets),应该能正常返回JSON数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:52:22