Nginx配置https访问
申请SSL证书
在ssl证书申请网站申请ssl证书,这里以腾讯云为例
腾讯云证书申请网址:https://console.cloud.tencent.com/ssl
点击申请证书
按照步骤填写完成,进行域名身份验证。我这边选择的手动验证,因为我的域名和服务器都是阿里云上购买的,需要手动验证。
在阿里云配置域名解析
主机记录、记录值、记录类型按照腾讯云给出的值进行填写,然后等待验证通过(10分钟左右)
颁发证书后将文件下载到本地解压
将Nginx中的.crt和.key文件上传到nginx.conf同级目录下
nginx配置证书
server {listen 443 ssl;
#填写绑定证书的域名
server_name cloud.tencent.com;
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
root /var/www/cloud.tencent.com;
index index.html index.htm;
#证书文件名称
ssl_certificate 1_cloud.tencent.com_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_cloud.tencent.com.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;
location / {
index index.html index.htm;
}
}
server {
listen 80;
#填写绑定证书的域名
server_name cloud.tencent.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
修改完成后重启nginx即可
nginx在docker中的情况
停止运行的nginx容器
重新创建容器,将存放证书的文件夹也映射到容器中
docker run -d -p 80:80
-p 443:443
--name nginx
--restart always
--network=host
-v /usr/local/docker/nginx/www:/usr/share/nginx/html
-v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /usr/local/docker/nginx/logs:/var/log/nginx
-v /usr/local/docker/nginx/conf/zhenshu:/etc/nginx/zhenshu nginx:1.8
在配置nginx.conf中证书路径时添加一层你的文件夹路径
#证书文件名称ssl_certificate zhenshu/1_cloud.tencent.com_bundle.crt;
#私钥文件名称
ssl_certificate_key zhenshu/2_cloud.tencent.com.key;
证书查找路径是从/etc/nginx/路径开始查找的,路径一定不要配错。
中途本来项配置的是相对路径结果,证书查找路径变成了/etc/nginx/../../xxx/xxx/xx目录,所以文件一定要挂载到/etc/nginx/目录下,不然会找不到的!
配置完成启动后进入网站查看
https配置完成!
以上是 Nginx配置https访问 的全部内容, 来源链接: utcz.com/z/518662.html