2025年pem文件怎么安装(pem文件怎么用)

pem文件怎么安装(pem文件怎么用)目标 配置 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

大家好,我是讯享网,很高兴认识大家。



目标

配置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_pythonweb80/.tg-cc755.cn.pem /etc/nginx/cert/_.tg-cc755.cn.pem

sudo cp ~/02_project/02_program/06_pythonweb80/.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;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  location / {</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    index index.html index.htm;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> }</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>}</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>server {</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  listen 443 ssl;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  server_name www.tg-cc755.cn;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_certificate /etc/nginx/cert/_.tg-cc755.cn.pem;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_certificate_key /etc/nginx/cert/_.tg-cc755.cn.key;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_session_cache shared:SSL:1m;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_session_timeout 5m;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  ssl_prefer_server_ciphers on;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>​</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>  location / {</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    proxy_pass http://127.0.0.1:8080;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    proxy_set_header Host \)host;

    proxy_set_header X-Real-IP \(remote_addr;</span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a>    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/)

    小讯
    上一篇 2025-05-28 09:54
    下一篇 2025-06-12 12:50

    相关推荐

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
    如需转载请保留出处:https://51itzy.com/kjqy/147313.html