☆ SSL证书介绍
首先获取SSL证书,以阿里云购买的SSL证书为例,购买之后进行下载
★ 解决方案
nginx(ubuntu)
参考:
阿里云帮助文档
nginx的安装不再介绍,安装过程可以参考ZATA-安装nginx
SSL安装过程如下
- 首先将SSL证书复制到服务器,这里我把证书放置再nginx的安装目录下,新建了一个目录ssl-nginx,然后把下载的SSL证书文件复制到该目录
- 在nginx的conf.d文件夹下新建domain-com.conf
实际上直接修改 /etc/nginx/nginx.conf配置文件也是一样的,但是不推荐 - 复制以下代码到domain-com.conf中
server {
#HTTPS的默认访问端口443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
listen 443 ssl;
#填写证书绑定的域名
server_name <yourdomain>;
#填写证书文件绝对路径
ssl_certificate cert/<cert-file-name>.pem;
#填写证书私钥文件绝对路径
ssl_certificate_key cert/<cert-file-name>.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#表示优先使用服务端加密套件。默认开启
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 80;
#填写证书绑定的域名
server_name <yourdomain>;
#将所有HTTP请求通过rewrite指令重定向到HTTPS。
rewrite ^(.*)$ https://$host$1;
location / {
index index.html index.htm;
}
}
4. 查看配置是否正确
nginx -t
如果配置检查错误,根据提示修改
- 重启nginx服务
service nginx restart
打工告成