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

回到顶部