宝塔部署flask添加ssl即https

 在宝塔部署flask的步骤我已经写了一篇博客:宝塔部署flask项目-CSDN博客

之前说如果出现找不到application错误:

spawned uWSGI http 1 (pid: 3116)
--- no python application found, check your startup logs for errors ---
[pid: 3114|app: -1|req: -1/1] 127.0.0.1 () {62 vars in 1090 bytes} [Sat Dec 30 22:03:36 2023] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)

 可以修改运行代码:

if __name__ == '__main__':
    app.run()
else:
    application = app

这样就有uwsgi.ini文件需要的application名字了.

还有一种方法,就是在uwsgi.ini里面设置访问的程序名不是默认的application,而是app:

修改uwsgi.ini文件添加:

#python 程序内用以启动的application 变量名
callable = app

这样也是可以的.

怎么在宝塔里部署ssl呢?现在都需要付费了,还好宝塔里还有一年免费的:

测试证书仍然可以申请一年的.那就申请这个.在部署flask的时候,不要使用80端口!!使用默认的5000端口或者其他的8000端口都可以. 

 

 

 然后开启外网映射,申请ssl,部署,记得修改配置文件里面的端口,就一个地方:

只要修改这一个地方的端口就可以了.然后重启Nginx. 

这个时候就可以使用https来访问flask项目了.

如果开启强制https,那么访问http的时候,自动跳转到https了.宝塔自动在配置文件里添加这个代码:

    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }