4步将HTTP请求升级为HTTPS

在项目开发过程中,开发环境是内网环境,安全性要求低,所以通常用HTTP请求访问后端服务器。但是生产环境下,由于是公网环境,世界上的任何地方都能访问,所以安全性要求比较高,通用需要用HTTPS访问,那么如何将HTTP请求升级为HTTPS呢?仅需4步即可。

1.数字证书下载

可以选择阿里云、腾讯云、华为云或者其他证书,此处用腾讯云数字证书为例。

(1)登录腾讯云控制台,选择SSL证书申请,并按照要求,填写正确的域名

(2)申请完证书,等待签发完之后,选择对应的证书下载

2.openssl验证

(1)首先查看对应证书的部署说明,以nginx部署证书为例,重点查看支持的SSL协议,如下图所示:说明openssl需要支持TLSv1.2和TSLv1.3

(2)登录nginx部署的linux服务器,输入命令

复制代码
openssl s_client -help 2>&1 | awk '/-(ssl|tls)[0-9]/{print $1}'

如下图所示:说明支持tls1,tls1.1,tsl1.2,tls1.3

(ps:如果不支持,需要编译openssl)

3.nginx验证

登录服务器,查看nginx是否支持https,找到nginx的安装目录,输入命令 -V,查看nginx版本信息

(ps:如果nginx不支持,需要编译或者升级nginx)

4.配置数字证书

以nginx支持单域名配置为例(更进阶的有多域名配置、单域名多端口配置等)

(1)直接将证书文件上传到nginx的安装目中,如下图所示

(2)修改nginx的配置文件nginx.conf,保存后重启

复制代码
server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 
     #请填写绑定证书的域名
     server_name lms-admin.dev.xhguo.cn; 
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate lms-admin.dev.xhguo.cn_bundle.crt; 
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key lms-admin.dev.xhguo.cn.key; 
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
     location / {
        root /home/sf/nginx/admin-front;
        try_files $uri $uri/ /index.html;
          if ($request_filename ~* ^.*?\.(html)$) {
                add_header Cache-Control "no-cache, no-store";
           }
     }
 }

(3)输入域名地址 https://lms-admin.dev.xhguo.cn/login/index,可以看到能够进行https访问,并且有个锁的标志,说明配置成功

相关推荐
vortex55 小时前
Kali Linux 磁盘扩容后内部分配完整教程
linux·运维
七夜zippoe6 小时前
OpenClaw Skills 高级开发指南
服务器·网络·人工智能·skills·openclaw
想唱rap6 小时前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
KnowSafe6 小时前
CLM最佳实践:构建高效证书生命周期管理体系
安全·https·clm·itrustssl·trustasia
开开心心_Every6 小时前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
云达闲人6 小时前
搭建DevOps企业级仿真实验环境:006Proxmox 基础环境验证
运维·devops·proxmox ve·sre·仿真实验环境·快照与克隆·运维实操教程
W.A委员会6 小时前
DNS详解
http
the_fat_bird6 小时前
ubuntu install nvidia gpu driver
linux·运维·ubuntu
江南风月6 小时前
WGCLOUD如果使用SQL Server数据库推荐哪个版本
运维·网络·zabbix·运维开发·prometheus
IMPYLH6 小时前
Linux 的 tac 命令
linux·运维·服务器·bash