第一种方法是自行到国内云服务商等处申请 SSL 证书。
你也可以使用以下命令申请(由 acme.sh 提供技术支持,感谢 Let's Encrypt)。
Let's Encrypt 现已支持通过 DNS 验证来申请通配符证书,本例以通配符证书为例。
在 https://github.com/acmesh-official/acme.sh/tree/master/dnsapi 找到自己域名的 DNS 服务商代码,例如
dnspod.cn
代码为 dns_dp
GoDaddy.com
代码为 dns_gd
...
根据 DNS 服务商,自行在 .env
文件设置相关变量
dnspod.cn
# [DNSPOD]
DNS_TYPE=dns_dp
DP_Id=
DP_Key=
GoDaddy.com
# DNS 服务商
DNS_TYPE=dns_gd
GD_Key=sdf...
GD_Secret=sdf...
...
除了 acme.sh
原始参数外,支持以下参数
--httpd
--rsa
# 首次使用必须执行此命令
$ ./lnmp-docker acme.sh --register-account -m my@example.com(替换为自己的邮箱)
$ ./lnmp-docker ssl example.com -d *.example.com -d t.example.com -d *.t.example.com [--debug]
特别提示,
*.example.com
的证书不支持example.com
所以一个主域要写两次
特别提示,第一个网址不用加
-d
参数,后面的需要加-d
参数
若你的网站服务器不是 NGINX 而是 HTTPD,那么请加上 --httpd
参数,即
$ ./lnmp-docker ssl example.com -d *.example.com --httpd
默认申请 ECC
证书,你可以加上 --rsa
来申请 RSA 证书,即
$ ./lnmp-docker ssl example.com -d *.example.com --rsa
./config/nginx/ssl/*
$ ./lnmp-docker ssl-self khs1994.com *.khs1994.com 127.0.0.1 localhost
生成的 ssl 文件位于 ./config/nginx/ssl-self
。
务必在浏览器导入根证书(./config/nginx/ssl-self/root-ca.crt
)。
https://*.t.khs1994.com
均指向127.0.0.1
你可以使用这个网址测试https
。
请查看 ./config/nginx/demo-*.conf
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.