Nginx 配置SSL证书
.crt
文件:是证书文件,crt是pem文件的扩展名。.key
文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)。
友情提示: .pem
扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改扩展名。
以Nginx标准配置为例,假如证书文件名是a.pem,私钥文件是a.key。
- 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;
- 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
1server {
2 listen 443;
3 server_name localhost;
4 ssl on;
5 root html;
6 index index.html index.htm;
7 ssl_certificate cert/a.pem;
8 ssl_certificate_key cert/a.key;
9 ssl_session_timeout 5m;
10 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
11 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
12 ssl_prefer_server_ciphers on;
13 location / {
14 root html;
15 index index.html index.htm;
16 }
17}
添加完成后大概是这个样子
1server{
2 listen 443;
3
4 root /var/www/akvicor.com/html;
5 index index.php index.html index.htm index.nginx-debian.html;
6
7 server_name akvicor.com www.akvicor.com;
8 ssl on;
9
10 ssl_certificate /var/www/cert/akvicor.pem;
11 ssl_certificate_key /var/www/cert/akvicor.key;
12 ssl_session_timeout 5m;
13 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
14 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
15 ssl_prefer_server_ciphers on;
16
17 location / {
18 try_files $uri $uri/ /index.php$is_args$args;
19 }
20
21 location ~ \.php$ {
22 try_files $uri =404;
23
24 include fastcgi.conf;
25 fastcgi_pass 127.0.0.1:9000;
26 }
27}
28
29server {
30 listen 80;
31 listen [::]:80;
32
33 root /var/www/akvicor.com/html;
34 index index.php index.html index.htm index.nginx-debian.html;
35
36 server_name akvicor.com www.akvicor.com;
37
38 location / {
39 try_files $uri $uri/ /index.php$is_args$args;
40 }
41
42 location ~ \.php$ {
43 try_files $uri =404;
44
45 include fastcgi.conf;
46 fastcgi_pass 127.0.0.1:9000;
47 }
48}
保存退出,重启 Nginx。
1# 确保您的Nginx文件中没有语法错误
2sudo nginx -t
3# 重启Nginx
4sudo systemctl restart nginx
除另有声明外,本博客文章均采用 知识共享 (Creative Commons) 署名 4.0 国际许可协议 进行许可。转载请注明原作者与文章出处。