今天突然心血来潮,看博客的HTTP不爽已经很久了,是时候改变裸奔的现状了
从阿里云获取免费的SSL证书
在阿里云控制台,找到安全(云盾)->SSL证书
点击购买(不要钱的,不用怕)
选择单域名,DV SSL 免费版
购买后在控制台提交审核,(服务器在阿里云的话审核很快)
审核完成后,点击下载证书,选择Nginx
你会看到阿里云官方给的帮助文档,挺有用的
部署SSL到Nginx
-
首先在阿里云控制台开放你的443端口用于HTTPS请求 解压已下载保存到本地的Nginx证书压缩包文件。
-
解压后的文件夹中有2个文件:
证书文件:以.pem为后缀或文件类型。
密钥文件:以.key为后缀或文件类型。
证书文件 -
登录您的Nginx服务器,在Nginx安装目录(默认Nginx安装目录为/usr/local/nginx/conf,我的在etc/nginx目录,就是你配置文件所在的目录)下创建cert目录,并将下载的证书文件和密钥文件拷贝到cert目录中。
说明 如果您在申请证书时选择手动创建CSR文件,请将对应的密钥文件放到cert目录中,并命名为domain name.key。
修改Nginx安装目录/conf/nginx.conf文件。
修改Nginx配置
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name localhost; #将localhost修改为您证书绑定的域名,例如:www.example.com。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM- SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
你已经完成了配置,重新载入Nginx配置文件即可
非常重要!!(危)Nginx方向代理的后端适配
配置了HTTPS的域,要求所有的请求都是HTTPS的类型,若Ajax等使用的是Http请求,将被拦截!!
设置网站默认访问Https
修改配置文件中的isten 443 ssl为
listen 443 ssl default_server;
listen [::]:443 default_server;