一、准备一个域名(以腾讯云为例)
二、在腾讯云“SSL证书”中申请免费证书
三、下载证书并解压,我们只要使用nginx下的文件即可
四、上传上述Nginx文件夹中的crt和key文件到云服务器的nginx/conf下
五、安装nginx ssl模块
- 进入到nginx的解压目录
- 新增ssl模块 --with-http_ssl_module
./configure\--prefix=/usr/local/nginx\--pid-path=/var/run/nginx/nginx.pid\--lock-path=/var/lock/nginx.lock\--error-log-path=/var/log/nginx/error.log\--http-log-path=/var/log/nginx/access.log\--with-http_gzip_static_module\--http-client-body-temp-path=/var/temp/nginx/client\--http-proxy-temp-path=/var/temp/nginx/proxy\--http-fastcgi-temp-path=/var/temp/nginx/fastcgi\--http-uwsgi-temp-path=/var/temp/nginx/uwsgi\--http-scgi-temp-path=/var/temp/nginx/scgi\--with-http_ssl_module
- 编译安装
make
make install
六、nginx.conf中配置https
新增 server 监听 443 端口
server{
listen 443;
server_name www.test.com;
#开启ssl
ssl on;
#配置ssl证书
ssl_certificate 1_www.test.com_bundle.crt;
#配置证书秘钥
ssl_certificate_key 2_www.test.com.key;
#ssl会话cache
ssl_session_cache shared:SSL:1m;
#ssl会话超时时间
ssl_session_timeout 5m;
#配置加密套件,写法遵循openssl标准
ssl_protocols TLSv1TLSv1.1TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
...
}
七、HTTP 自动跳转 HTTPS 的安全配置
server {
listen 80;
#填写绑定证书的域名
server_name www.test.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}