0.先天条件配置完之后一定要重启nginx
1.申请免费的证书
阿里巴巴,腾讯,便宜SSL..等等
2.完成一系列操作之后得到证书文件(这里只要Nginx中的证书)
3.将这两个文件放置到服务器中
可以使用FTP方便简单上传
4.配置nginx的配置文件
在文件中添加一个server{}:配置如下
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14server { listen 443 ssl; server_name hello.cn; #你的域名(注意要和SSL证书申请的域名一致) ssl_certificate /www/ssl/server.crt; #证书文件目录 ssl_certificate_key /www/ssl/server.key;#证书文件目录 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root /www/wwwroot/website/;#所要指向的网站目录 index index.html index.htm; } }
5.全局配置(所有的二级域名):前提你的ssl证书需支持
1)nginx.conf
复制代码
1
2
3
4
5
6
7
8
9
10
11
12server { listen 443 ssl; server_name localhost; ssl_certificate /www/ssl/server.crt; ssl_certificate_key /www/ssl/server.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; }
2)网站的.conf
只需要在server里边加上 listen 443即可
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13server { listen 80; listen 443; server_name www.website.cn; index index.php index.html index.htm default.php default.htm default.html; #强制转换为https_START if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; } #强制转换为https_END root /www/wwwroot/website/; }
6.不同网站配置不同ssl证书
这里的fullchain.pem和privkey.key两个文件就是对应的证书文件内容(放置的目录根据你常规放置的ssl证书目录来)
privkey.pem这个文件代表的就是你ssl证书的密钥(有的可能是.key文件,指向这个文件就行)
fullchain.pem这个文件代表的就是你ssl证书的公钥(有的可能是.crt文件,指向这个文件就行)
复制代码
1
2
3
4
5
6
7server { listen 80; listen 443 ssl http2; server_name api.website.cn; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/spring;
return 301 https://$server_name$request_uri;#强制https访问
# rewrite ^/(.*) https://ssl.lanbing.org/$1 permanent; #关键代码仔细比较两者的跳转的区别
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47#SSL-START SSL相关配置, #error_page 404/404.html; ssl_certificate /www/server/panel/vhost/cert/api.website.cn/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/api.website.cn/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 497 https://$host$request_uri; #SSL-END #禁止访问的文件或目录 location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ .well-known{ allow all; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } # 这里非常重要 location /{ proxy_pass "http://localhost:8081"; #代理ip的服务(二者选一) #proxy_set_header Host api.website.cn; #代理的域名(二者选一) proxy_set_header X-Forwarded-For $remote_addr; } access_log /www/wwwlogs/api.website.cn.log; error_log /www/wwwlogs/api.website.cn.error.log; }
转载于:https://www.cnblogs.com/zhizou/p/10971833.html
最后
以上就是内向火车最近收集整理的关于nginx配置ssl安全证书的全部内容,更多相关nginx配置ssl安全证书内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复