HTTPS 证书申请及配置



证书采用的是 Let's Encrypt 颁发的免费, 高效, 跨平台证书. 关于 Let's Encrypt 的前世今生, 请自行Google.

申请及配置步骤
1. 安装 acme.sh

方法一:

curl https://get.acme.sh | sh

方法二:

# acme.sh 作者推荐的安装方式可能会出现资源访问不了的情况
# 可以尝试通过 先下载 在安装的方法,  如下:
wget https://github.com/Neilpang/acme.sh/archive/master.zip  
unzip master.zip  
mv acme.sh-master acme.sh  
cd acme.sh  
./acme.sh/acme.sh --install
2. 创建用于存放验证文件的文件夹, 如: /var/www/acme-challenges/
mkdir -p /var/www/acme-challenges
3. 配置 Nginx 验证
server {  
    listen 80;
    server_name *.beinhere.com beinhere.com *.luodi.cc luodi.cc *.lyfeyaj.com lyfeyaj.com;

    # 用于验证服务, acme 会自动将认证token 放在此文件夹下面, 并通过web请求来验证
    location ^~ /.well-known/acme-challenge/ {
      alias /var/www/acme-challenges/.well-known/acme-challenge/;
      try_files $uri =404;
    }

    ## Don't show the nginx version number, a security best practice
    server_tokens off; 

    # 用于跳转 http 为 https
    location / {
      return 301 https://$http_host$request_uri;
    }
}

这里需要注意, 如果 80 端口的域名配置 和其他的有冲突, 则需要先关掉, 或者将上述的配置添加到置顶域名里面

4. 生成域名证书
acme.sh --issue -d luodi.cc -d www.luodi.cc --webroot /var/www/acme-challenges/

如果有多个子域名, 可以通过添加 -d 子域名.com 来增加 如果生成失败, 可以通过 添加 --debug 或者 --log 参数来查看详细调试信息

5. 安装域名证书
acme.sh --installcert  -d luodi.cc --keypath   /etc/nginx/ssl/luodi.cc.key --fullchainpath /etc/nginx/ssl/luodi.cc.cer --reloadcmd  "service nginx force-reload"
6. 配置 Nginx

将监听端口改为 443

listen 443 ssl;

增加以下配置

## Strong SSL Security
  ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
  ssl on;
  ssl_certificate /etc/nginx/ssl/luodi.cc.cer;
  ssl_certificate_key /etc/nginx/ssl/luodi.cc.key;

  # Luodi needs backwards compatible ciphers to retain compatibility with Java IDEs
  ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:50m;
  ssl_session_timeout 1d;

  # 根证书 + 中间证书
  ssl_trusted_certificate    /etc/nginx/ssl/letsencrypt.cer;

  ssl_stapling               on;
  ssl_stapling_verify        on;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒙奇·D·路飞-

感谢老板您就是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值