Nginx-SSL证书配置
wenking 7/25/2023 nginx证书
# nginx 证书配置
关于自定义证书生成,大家可以参考这篇博客
# HTTP server
server {
# http使用80端口
listen 80;
server_name localhost;
# 把http的域名请求转成https ex: 访问 http://www.baidu.com 时自动跳转为 https://www.baidu.com
# return 301 https://$host$request_uri;
location / {
root html;
index index.html index.htm;
}
}
# HTTPS server
server {
# SSL使用443端口
listen 443 ssl;
# =============================================================
# =============↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓========================
# =============================================================
# SSL证书绑定的域名
server_name www.wenking.com;
# 证书pem文件
ssl_certificate /home/ssl/server-cert.pem;
# 证书key文件
ssl_certificate_key /home/ssl/server-key.pem;
# =============================================================
# ==================↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑========================
# =============================================================
# 启用 SSL Session 缓存
ssl_session_cache shared:SSL:1m;
# 缓存SSL握手产生的参数和加密密钥的时长
ssl_session_timeout 5m;
# 使用的加密套件的类型
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# 表示使用的TLS协议的类型
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 加密套件优先选择服务器的加密套件
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
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
48
49
50
51
52
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
48
49
50
51
52
# 验证证书有效性
通常我们使用curl访问https请求时,在tls进行会话连接时,会使用系统内置安装的证书验证服务器发送过来的证书,如果验证失败,默认是会报错的,
# 直接请求服务器,会使用系统内置的证书,结果将会报错
curl https://192.168.1.128
1
2
2
报错内容如下:
指定ca证书
# 指定ca证书请求服务器
curl https://192.168.1.128 --cacert ca.pem
1
2
2
# 跳过服务器验证
curl -k https://192.168.1.128