1 HTTPS 原理
1.1 HTTPS 与 HTTP
HTTPS是在HTTP的基础上,利用SSL证书实现请求报文和响应报文的加解密,达到安全通信的目的。
2 SSL 证书获取
Lets Encrypt 提供的工具
https://certbot.eff.org/pages/about
云服务器厂商通常会提供HTTPS的免费 SSL 证书。
腾讯云免费 SSL 证书申请: https://cloud.tencent.com/document/product/400/6814
3 手动部署 SSL 证书-Nginx方式
/etc/nginx/nginx.conf 配置文件 :
events {}
http {
upstream my_server {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name myhost.cn;
# 把 http 重置到 https
return 301 https://myhost.cn$request_uri;
}
server {
# https 端口监听 & 反向代理
listen 443 ssl;
server_name myhost.cn;
ssl_certificate /usr/share/nginx/myhost.cn_bundle.pem;
ssl_certificate_key /usr/share/nginx/myhost.cn.key;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://my_server;
}
}
}
参考博文
- nginx开启ssl并把http重定向到https的两种方式 - https://www.cnblogs.com/larrydpk/p/12819231.html
- nginx配置文件模板(完全详细)- https://zhuanlan.zhihu.com/p/619165119
注意:本文归作者所有,未经作者允许,不得转载