https部署步骤与教程(免费申请https和部署的方法)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《https部署步骤与教程(免费申请https和部署的方法)》的相关信息,《https部署步骤与教程(免费申请https和部署的方法)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《https部署步骤与教程(免费申请https和部署的方法)》的详细说明。
国外云主机,www.2 bp .net

Docker 内部署的 Nginx,结合免费的SSL Let’s Encrypt 部署 HTTPS,自动更新证书有效期,给你的浏览器地址栏加个绿色的锁,让你的站点更加安全。

https部署步骤与教程(免费申请https和部署的方法)

Docker

镜像

docker pull certbot

配置

注:修改 nginx 配置,在 server 模块下新增如上配置,注意路径变更,且该路径为 docker 下的路径。

location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /www/makeit;}location = /.well-known/acme-challenge/ { return 404;}

运行

注:这里采用 webroot 验证方式,–webroot -w 所配置的参数为 docker 下的目录。

docker run -it --rm --name certbot -v /makeit/docker/nginx/letsencrypt:/etc/letsencrypt -v /var/lib/letsencrypt:/var/lib/letsencrypt -v /makeit/web/home:/www/makeit certbot/certbot certonly --webroot -w /www/makeit --email makeit@makeit.vip -d www.makeit.viphttps部署步骤与教程(免费申请https和部署的方法)

成功生成证书的提示

有效期

# 可根据如下命令查看证书有效时长# -in 后面为刚刚生成时存放的证书路径openssl x509 -noout -dates -in /makeit/docker/nginx/letsencrypt/live/www.makeit.vip/cert.pem

自动更新

新建脚本

touch renew.sh

脚本内容

#!/bin/bashdocker run -it --rm --name certbot -v /makeit/docker/nginx/letsencrypt:/etc/letsencrypt -v /var/lib/letsencrypt:/var/lib/letsencrypt -v /makeit/web/home:/www/home certbot/certbot certonly --webroot -w /www/home --force-renew --email makeit@makeit.vip -d www.makeit.vipdocker kill nginxdocker start nginx

修改权限

chmod +x /makeit/docker/nginx/renew.sh

定时任务(每月1号执行1次脚本)

crontab -e0 0 1 * * /makeit/docker/nginx/renew.sh

PFS键值

PFS(perfect forward secrecy),中文可叫做完全前向保密。要求一个密钥只能访问由它所保护的数据;用来产生密钥的元素一次一换,不能再产生其他的密钥;一个密钥被破解,并不影响其他密钥的安全性

mkdir /makeit/docker/nginx/ssl/private -pcd /makeit/docker/nginx/ssl/privateopenssl dhparam 2048 -out dhparam.pemhttps部署步骤与教程(免费申请https和部署的方法)

NGINX

配置示例

server { listen80; listen443 ssl; server_namemakeit.vip www.makeit.vip; root /www/makeit; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn; ssl_certificate letsencrypt/live/www.makeit.vip/fullchain.pem; ssl_certificate_key letsencrypt/live/www.makeit.vip/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; ssl_session_timeout 5m; ssl_session_tickets on; ssl_dhparam ssl/private/dhparam.pem; location / { index index.html index.htm index.php index.jsp; } error_page 500 502 503 504 /50x.html; location /50x.html { root /www; } location ~ /. { return 403; } location ~* ^.+.(jpg|jpeg|gif|png|bmp|css|js|swf)$ { access_log off; } location ~ .php$ { root /www/makeit; fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /.ht { deny all; }}

NGINX

注:后3个 -v 映射的目录,请都映射在 nginx 容器的根目录下。

docker run --name nginx -d -p 80:80 -p 443:443 --restart=always -v /makeit/web:/www -v /makeit/logs/nginx:/var/log/nginx -v /makeit/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /makeit/docker/nginx/conf.d:/etc/nginx/conf.d -v /makeit/docker/nginx/letsencrypt:/etc/nginx/letsencrypt -v /makeit/docker/nginx/ssl:/etc/nginx/ssl --link php nginx

查看效果

https部署步骤与教程(免费申请https和部署的方法)

证书生效

证书已经生效,浏览器已经加了“锁”标识,成功啦 ~

国外云主机,www.2 bp .net
提醒:《https部署步骤与教程(免费申请https和部署的方法)》最后刷新时间 2023-03-27 02:31:25,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《https部署步骤与教程(免费申请https和部署的方法)》该内容的真实性请自行鉴别。