随着越来越多的网站访问HTTPS,仅仅在Nginx 中配置HTTP 已经不够了;您经常需要监听端口443 上的请求。为了保证通信安全,HTTPS需要在服务器端配置相应的数字证书。如果你的项目中使用Nginx作为网关的话,Nginx中还必须配置证书。 下面简单介绍一下SSL证书的配置过程。
首先到CA机构或者从云控制台申请相关的SSL证书,如果审核通过,则下载Nginx版本的证书。
下载数字证书时,会生成三个完整的文件:crt、key、pem。
.crt:数字证书文件。由于.crt 是.pem 文件扩展名,因此可能无法下载。key:服务器的私钥文件和用于解密公钥发送的数据的非对称加密私钥。pem:Base64 编码格式的源证书文本文件。如有必要,您可以更改扩展名。
在Nginx目录下新建证书目录,将下载的证书/私钥等文件上传到该目录。
最后修改nginx.conf文件如下。
登录后复制
# ———-HTTPS设置———-
服务器{
# 监听默认HTTPS 端口443
听443。
# 设置自己的项目域名
服务器名称www.xxx.com;
# 开启SSL加密通信
SSL 开启。
# 输入域名后首页文件放置的目录
根html;
# 设置主页文件名
索引index.htmlindex.htmindex.jspindex.ftl;
# 配置下载的数字证书
ssl_certificate 证书/xxx.pem;
# 设置下载的服务器私钥
ssl_certificate_key 证书/xxx.key;
# 通信停止时不需要重新交换密钥的加密会话的有效期
ssl_session_timeout 5 分钟;
# 服务器在TLS 握手期间使用的密码套件
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:NULL:aNULL:MD5:ADH:RC4;
# 服务器支持的TLS版本
ssl_协议TLSv1 TLSv1.1 TLSv1.2;
# 启用服务器确定的密码套件
ssl_prefer_server_ciphers 已打开。
位置/{
.
}
}
# ————-HTTP 请求到HTTPS ————-
服务器{
# 监听默认HTTP 端口80
听80。
# 如果80端口有访问域名的请求
服务器名称www.xxx.com;
# 将请求重写为HTTPS(这里写上你为HTTPS配置的域名)
^(.*)$ https://重写www.xxx.com。
}
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。
OK~,按照上面配置的Nginx,你的网站将可以通过https://访问,当客户端使用http://访问它时,它会自动重写为HTTPS请求。推荐:Java面试题
上面关于#12 的相关内容。 Nginx 配置中的SSL 证书仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92584.html