Nginx通过OpenSSL配置Https及二级目录
【摘要】 Nginx通过OpenSSL配置Https及二级虚拟目录
1、创建私钥秘钥和证书
mkdir -p /usr/local/nginx/conf/ssl/
cd /usr/local/nginx/conf/ssl/
# 创建服务器私钥
openssl genrsa -des3 -out server.key 1024
# 创建签名请求的证书(CSR)
openss...
Nginx通过OpenSSL配置Https及二级虚拟目录
1、创建私钥秘钥和证书
mkdir -p /usr/local/nginx/conf/ssl/
cd /usr/local/nginx/conf/ssl/
# 创建服务器私钥
openssl genrsa -des3 -out server.key 1024
# 创建签名请求的证书(CSR)
openssl req -new -key server.key -out server.csr
# 标记证书使用上述私钥和CSR
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
2、报错处理:密码错误
SSL_CTX_use_PrivateKey_file("/etc/nginx/key/server.key") failed
(SSL: error:0906406D:PEM routines:PEM_def_callback:problems getting password error:0906A068:PEM routines:PEM_do_header:bad password read error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
- 1
- 2
# 输入一次私钥的密码
openssl rsa -in server.key -out unserver.key
cp unserver.key server.key
# 重启nginx
- 1
- 2
- 3
- 4
- 5
- 6
3、配置Nginx
server { listen 443 ssl; server_name localhost; ssl on; ssl_certificate /usr/local/nginx/conf/ssl/server.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/server.key; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # 这是静态主页 location / { root /www; index index.html index.htm; }
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
会出现隐私设置错误,继续访问就可以
参考:
nginx配置https
4、Nginx配置二级目录
server { listen 80; server_name localhost; # 这是静态主页 location / { root /www; index index.html index.htm; } # 这是二级虚拟目录 # 注意斜杆/: # 访问 https://localhost/data/ # 代理 http://127.0.0.1:5003/ location /data/ { proxy_pass http://127.0.0.1:5003/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
5、报错:nginx:[emerg]unknown directive “ssl”
# 到解压的nginx目录下
yum -y install openssl openssl-devel
./configure --with-http_ssl_module
# 切记不能make install 会覆盖
make # 备份
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# 拷贝新的文件
cp objs/nginx /usr/local/nginx/sbin/nginx
# 检查重启
nginx -t
nginx -s reload
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
6、js后加?v=版本号 可以起到刷新缓存的作用
例如:
https://localhost/static/main.js?v=20191227
- 1
每次更新的时候修改版本号,通知浏览器获取新的文件
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/103755523
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)