目标
配置Nginx和Flask,实现HTTP自动跳转到HTTPS,并通过curl测试。
步骤
步骤1:安装Nginx
sudo apt update
sudo apt install nginx
curl 127.0.0.1
步骤2:备份原始配置文件
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
从文末参考链接查询
查询域名注册商、配置DNS解析配置(cname记录)、下载Nginx的ssl证书
步骤3:创建证书目录并复制证书文件
sudo mkdir /etc/nginx/cert
sudo cp ~/02_project/02_program/06_python_web80/_.tg-cc755.cn.pem /etc/nginx/cert/_.tg-cc755.cn.pem
sudo cp ~/02_project/02_program/06_python_web80/_.tg-cc755.cn.key /etc/nginx/cert/_.tg-cc755.cn.key
步骤4:配置Nginx
编辑Nginx的默认配置文件:
sudo vim /etc/nginx/sites-available/default
将文件内容替换为以下配置:
server {
listen 80;
server_name www.tg-cc755.cn;
# 将所有HTTP请求重定向到HTTPS
rewrite ^(.*)$ https://$host$1 permanent;
location / {
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name www.tg-cc755.cn;
ssl_certificate /etc/nginx/cert/_.tg-cc755.cn.pem;
ssl_certificate_key /etc/nginx/cert/_.tg-cc755.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
}
步骤5:测试Nginx配置
测试Nginx配置文件是否有语法错误:
sudo nginx -t
如果没有错误,重新加载Nginx配置:
sudo systemctl reload nginx
步骤6:启用Nginx开机自启动
启用Nginx开机自启动:
sudo systemctl enable nginx
步骤7:运行Flask应用程序
修改main.py文件,将Flask应用程序配置为监听8080端口:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080)
确保你的Flask应用程序正在运行。如果还没有运行,可以使用以下命令启动:
sudo python ~/02_project/02_program/06_python_web80/main.py
步骤8:通过curl测试
使用curl测试HTTP自动跳转到HTTPS:
curl -I http://www.tg-cc755.cn
你应该会看到一个301重定向到HTTPS的响应。
然后测试HTTPS:
curl -I https://www.tg-cc755.cn
你应该会看到一个200 OK的响应,并且内容为“Hello, World!”。
参考链接
这样,你就完成了Nginx的安装和配置,并实现了HTTP自动跳转到HTTPS。Flask应用程序将监听8080端口,Nginx将请求代理到这个端口。
ICP备案/许可证号:湘ICP备号 (https://beian.miit.gov.cn/)
到此这篇pem文件怎么安装(pem文件怎么用)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/54250.html