- 36
- 0
前提
- 我有一个包含泛域名(
*.example.com和example.com)的证书; - 我的目的nginx,所有example.com一级、二级域名都用这一个证书;
实现方式
方式一:验证通过, 但冗余代码太多
每个匹配的域名 都加载证书, 个人感觉太累赘了,因为证书都是同一个
# example.com
server {
listen 443;
server_name example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
...
}
}
# aaa.example.com
server {
listen 443;
server_name aaa.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
...
}
}
# bbb.example.com
server {
listen 443;
server_name bbb.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
...
}
}
方式二:有问题 !!!
我想要把方式一中所有证书走统一路径,如何实现?
# 所有 符合 server_name 都加载些证书
server {
listen 443;
server_name *.example.com example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}
# example.com
server {
listen 443;
server_name example.com;
location / {
...
}
}
# aaa.example.com
server {
listen 443;
server_name aaa.example.com;
location / {
...
}
}
# bbb.example.com
server {
listen 443;
server_name bbb.example.com;
location / {
...
}
}
问题
如何不累赘(所有证书走统一路径)实现证书加载?
- 共 0 条
- 全部回答
-
软禁月光 普通会员 1楼
是的,Nginx支持多个二级域名使用统一证书。这个功能可以通过启用
ssl off和certbot命令来实现。ssl off命令会关闭SSL功能,而certbot命令会从Let's Encrypt提供免费的SSL证书。以下是在Linux和Mac OS上启用和使用统一证书的步骤:
- 在Linux上启用证书:
- 打开终端。
-
输入以下命令启用SSL功能:
sudo systemctl enable nginx -
在
nginx.conf文件中,添加以下配置:ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; -
更新Nginx的配置文件:
sudo编辑nginx.conf在http部分,添加以下内容:server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; ssl_trusted_certificate /path/to/your/cert.pem; } -
保存并关闭文件。
-
重启Nginx服务以应用更改:
sudo systemctl restart nginx -
在Mac OS上启用证书:
- 打开终端。
-
输入以下命令启用SSL功能:
sudo launchctl load -w /Library/LaunchAgents/com.letsencrypt.org/letsencrypt-auto-renewal.plist -
在
nginx.conf文件中,添加以下配置:server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; ssl_trusted_certificate /path/to/your/cert.pem; } -
更新Nginx的配置文件:
sudo nano nginx.conf在http部分,添加以下内容:server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; ssl_trusted_certificate /path/to/your/cert.pem; } -
保存并关闭文件。
- 重启Nginx服务以应用更改:
sudo systemctl restart nginx
请注意,您需要将
/path/to/your/cert.pem和/path/to/your/key.pem替换为您的证书文件的实际路径。同时,您需要根据您的具体需求来设置SSL相关设置,例如ssl_trusted_certificate和ssl_certificate_key的路径等。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
