用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
分布式数据库
›
Debian 12.0 上为 Nginx 设置 SSL/TLS 证书
Debian 12.0 上为 Nginx 设置 SSL/TLS 证书
半亩花草
论坛元老
|
2024-12-27 14:32:41
|
显示全部楼层
|
阅读模式
楼主
主题
1748
|
帖子
1748
|
积分
5244
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在 Debian 12.0 上为 Nginx 设置 SSL/TLS 证书,可以使用免费的 Let’s Encrypt 证书,通过工具 Certbot 主动完成证书获取和设置。以下是详细步骤:
安装 Certbot 和 Nginx 插件
Certbot 是一个工具,可以从 Let’s Encrypt 获取证书并主动设置到 Nginx。
运行以下命令安装 Certbot 和其 Nginx 插件:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
复制代码
确保域名指向服务器
在你的域名注册商控制面板中,将域名的 A 记录 和 CNAME 记录 指向你的服务器 IP 地址。
例如:
范例主机名值A@你的服务器 IP 地址 然后等待 DNS 剖析生效。可以通过以下命令验证 DNS 剖析是否正确:
ping your-domain.com
复制代码
假如返回了你的服务器 IP,说明剖析已经生效。
获取 SSL/TLS 证书
Certbot 会主动为你的域名获取 Let’s Encrypt 的免费证书并设置 Nginx。
实行以下命令:
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
复制代码
• 将 your-domain.com 替换为你的实际域名。
• 如果你有多个域名,可以用 -d 参数添加更多域名。
复制代码
交互过程
Certbot 会提示你完成以下操作:
1. 输入邮箱地址,用于吸收证书过期提示。
2. 同意 Let’s Encrypt 服务条款。
3. 选择是否逼迫将 HTTP 流量重定向到 HTTPS(建议选择 2 逼迫重定向)。
Certbot 完成后,会看到如下提示:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your-domain.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your-domain.com/privkey.pem
复制代码
这表现证书已经乐成获取,并主动设置到了 Nginx。
检查 Nginx 设置
Certbot 会主动修改 Nginx 的站点设置文件,例如 /etc/nginx/sites-available/your-domain.com,并添加如下内容:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name your-domain.com www.your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/your-domain.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
listen [::]:80;
server_name your-domain.com www.your-domain.com;
return 301 https://$host$request_uri;
}
复制代码
测试和重新加载 Nginx
测试 Nginx 设置是否正确:
sudo nginx -t
复制代码
假如没有错误,重新加载 Nginx:
sudo systemctl reload nginx
复制代码
验证 HTTPS 设置
在浏览器中访问 https://your-domain.com 和 https://www.your-domain.com,确认网站使用 HTTPS 并表现有效的锁标志。
你也可以通过以下命令验证证书:
openssl s_client -connect your-domain.com:443 -servername your-domain.com
复制代码
主动续期证书
Let’s Encrypt 的证书有效期为 90 天,Certbot 会主动安排续期。
可以手动测试续期命令,确保没有问题:
sudo certbot renew --dry-run
复制代码
假如没有错误,说明主动续期功能已设置好。
可选优化(提高安全性)
你可以在 Nginx 设置中添加一些额外设置来提高安全性:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 禁用不安全的协议
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
复制代码
生存后,重新加载 Nginx:
sudo systemctl reload nginx
复制代码
总结
1. 安装 Certbot 和插件。
2. 配置域名 DNS 解析。
3. 使用 Certbot 获取和配置证书:certbot --nginx -d your-domain.com -d www.your-domain.com
4. 测试配置并重新加载 Nginx。
5. 验证 HTTPS 是否正常工作。
6. 确保自动续期功能正常:certbot renew --dry-run。
复制代码
如许,你的 Nginx 网站就乐成绑定了 HTTPS 证书,并且会主动续期,保持安全!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
半亩花草
论坛元老
这个人很懒什么都没写!
楼主热帖
YOLOV5 代码复现以及搭载服务器运行 ...
本周涨粉一倍,我决定再开源一个商超管 ...
APP性能优化
Java集合框架(五)-Collections 和 泛型 ...
安装Python
Spring5——JdbcTemplate笔记
经典Python题目:一个列表或者数组去重 ...
《C++性能优化指南》 linux版代码及原 ...
【Redis】BigKey问题
随机数漫谈
标签云
集成商
AI
运维
CIO
存储
服务器
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表