1. 申请SSL
证书
我这里以华为云为例,申请一个免费的SSL证书。申请的前提是你要有个域名。直接华为云控制台搜索ssl认证
,步骤很简单,这里就不赘述了。
- 申请成功后的截图
申请成功后,华为云有提供安装证书的教程,可以直接参考
2. nginx
配置 SSL
具体配置如下:
HTTPS server
server {
listen 443 ssl;
server_name 域名; # 与申请ssl证书的域名保持一致
ssl_certificate cert/server.crt;
ssl_certificate_key cert/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
参数 | 参数说明 |
---|---|
listen | SSL访问端口号,设置为“443”。 |
SSL | 设置为“on”,启用SSL功能。 |
ssl_certificate | 证书文件“server.crt”。 设置为“server.crt”文件的路径,且路径中不能包含中文字符, 例如“cert/server.crt”。 |
ssl_certificate_key | 私钥文件“server.key”。 设置为“server.key”的路径,且路径中不能包含中文字符, 例如“cert/server.key”。 |
ssl_protocols | 使用的协议。 |
ssl_ciphers | 配置加密套件,写法遵循OpenSSL标准。 |
注:ssl_certificate
和ssl_certificate_key
,申请ssl
证书成功后,下载证书,找个nginx
文件夹,对应的就是这两个,在nginx/conf
创建一个cert
文件,将两个文件夹拖入其中,改名即可。
- server
server {
listen 80;
server_name 域名; # 与申请ssl证书的域名保持一致
rewrite ^/(.*) https://$server_name$request_uri? permanent;
}