当前位置: 首页 > news >正文

Nginx服务器安装证书并启用SSL(acme.sh)

前提

  1. 您已购置vps服务器,例如阿里云全球站ecs、AWS EC2、Azure VM、GCP Compute等
  2. 安全组已开启80、443端口,且访问源设置为0.0.0.0/0
  3. 域名已设置A记录指向当前操作服务器,若您使用aws ec2,有公有 IPv4 DNS,可供使用

安装Acme.sh并申请证书Step-By-Step

Ubuntu—EasyWay

cat >> install-CA.sh << EOF
#!/bin/bash
rm -rf /etc/nginx/cert/ && mkdir /etc/nginx/cert/
read -p "Enter your domain: " domain
rootDomain=\`echo $domain|cut -d '.' -f2-\`
apt -y install wget unzip socat
curl https://get.acme.sh | sh
rm -rf /usr/local/bin/acme.sh
ln -s  /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
acme.sh --register-account -m admin@$rootDomain
acme.sh  --issue -d ${domain}  --standalone -k ec-256
cp /root/.acme.sh/${domain}_ecc/fullchain.cer /etc/nginx/cert/server.cert
cp /root/.acme.sh/${domain}_ecc/${domain}.key /etc/nginx/cert/server.key
acme.sh --installcert -d ${domain} --ecc  --key-file   /etc/nginx/cert/server.key   --fullchain-file /etc/nginx/cert/server.cert
systemctl start nginx
EOF

CentOS—EasyWay

cat >> install-CA.sh << EOF
#!/bin/bash
rm -rf /etc/nginx/cert/ && mkdir /etc/nginx/cert/
read -p "Enter your domain: " domain
rootDomain=\`echo $domain|cut -d '.' -f2-\`
yum -y install wget unzip socat
curl https://get.acme.sh | sh
rm -rf /usr/bin/acme.sh
ln -s  /root/.acme.sh/acme.sh /usr/bin/acme.sh
acme.sh --register-account -m admin@$rootDomain
acme.sh  --issue -d ${domain}  --standalone -k ec-256
cp /root/.acme.sh/${domain}_ecc/fullchain.cer /etc/nginx/cert/server.cert
cp /root/.acme.sh/${domain}_ecc/${domain}.key /etc/nginx/cert/server.key
acme.sh --installcert -d ${domain} --ecc  --key-file   /etc/nginx/cert/server.key   --fullchain-file /etc/nginx/cert/server.cert
systemctl start nginx
EOF

nginx配置设置—以centos为例

修改nginx.conf的内容

取消Settings for a TLS enabled server下的注释内容

    server {listen       443 ssl http2;listen       [::]:443 ssl http2;server_name  YourDomain;root         /usr/share/nginx/html;ssl_certificate "/etc/nginx/cert/server.cert";ssl_certificate_key "/etc/nginx/cert/server.key";ssl_session_cache shared:SSL:1m;ssl_session_timeout  10m;ssl_ciphers DEFAULT;# This is default SSL_ciphers setting,if you get error,you can change it like me,set DEFAULT#ssl_ciphers PROFILE=SYSTEM;ssl_prefer_server_ciphers on; # Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /40x.html {}   error_page 500 502 503 504 /50x.html;location = /50x.html {}   }   

在这里插入图片描述

Trouble Shooting

SSL_CTX_set_cipher_list:no cipher match

报错信息

[emerg] 11926#11926: SSL_CTX_set_cipher_list("PROFILE=SYSTEM") failed (SSL: error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match)

Solution

将nginx.config默认的ssl_ciphers PROFILE=SYSTEM;设置为ssl_ciphers DEFAULT;
重启nginx即可

http://www.lryc.cn/news/221448.html

相关文章:

  • c++实现观察者模式
  • C 语言左移位操作在kernel驱动子系统中的特殊用途
  • kafka3.6.0集群部署
  • JAVA客户端使用账号密码调用influxdb2报错:{“code“:“unauthorized“,“message“:“Unauthorized“}
  • Mysql查询今天到期、n天即将到期、还有n天过期相关sql
  • 【漏洞复现】Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)
  • 【江协科技-用0.96寸OLED播放知名艺人打篮球视频】
  • CATIA环境编辑器用不了时创建项目快捷方式
  • java泛型的深入 泛型还可以在很多地方进行定义 泛型类 泛型方法 泛型接口 泛型的继承和通配符 泛型类练习
  • 持续交付的好处
  • APP开发:用途与未来前景|软件定制开发|网站小程序建设
  • 图论——并查集
  • 计算机毕业设计java+vue+springboot的论坛信息网站
  • .net core添加SQL日志输出
  • 虚幻5.1 常见的效果关闭方式
  • 每日一题 --- 力扣318----最大单词长度乘积
  • 掌动智能性能压力测试优势有哪些
  • 虚拟机没有桥接模式--物理机WiFi不见了--注册表修复
  • 【Python】批量下载素材酷视频资源
  • QuantLib学习笔记——一个简单的价值估算案例
  • 智能语音和自然语言处理技术
  • 【Sql】sql server数据库提示:执行Transact-SQL语句或批处理时发生了异常。 无法打开数据库msdb,错误:926。
  • Day 5 登录页及路由 (三) 基于axios的API调用
  • 雷神学习---视音频数据处理入门:RGB、YUV像素数据处理
  • Asp.Net Core服务端处理请求过来的压缩格式
  • 自定义指令
  • 仿真实现lio_sam建图和ndt_matching定位
  • IDEA取消git对项目的版本控制
  • 如何聪明地编写测试
  • CF1866M Mighty Rock Tower