博主买的是腾讯云服务器,购买的是https的域名,部署好项目后,访问默认http,这就很尴尬了。下面是一步步实现全站HTTPS过程。
1.登录腾讯云后台,选择SSL证书,没找到的话可以直接搜索,然后点击申请免费证书,当然你也可以选择购买,这篇博客主要是针对免费证书
2.选择免费DVSSL证书,将信息补全,再选择自动DNS验证,很快通过审核就会将结果下发到申请的邮箱了。
3. 审核通过的界面
4. 点击下载证书,解压
5.Nginx下证书文件和私钥文件(即下图的crt和key结尾的两个文件)拷贝到服务器/usr/local/nginx/conf
目录下(即nginx配置目录下)
6. 配置nginx.conf
cd /usr/local/nginx/conf/
vim nginx.conf
将Nginx配置成
server {
#Http和Https共存
listen 80 default backlog=2048;
#SSL 访问端口号为 443,不设置共存就将原来的80端口改了
listen 443 ssl;
#填写绑定证书的域名
server_name 域名;#www.domain.com
#证书文件名称
ssl_certificate 证书文件名称;
#私钥文件名称
ssl_certificate_key 私钥文件名;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
root /var/www/www.domain.com;
index index.html index.htm;
}
}
重启nginx
/usr/local/nginx/sbin/nginx -s reload
若是报错
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:11
自行安装SSL模块