上一篇 下一篇 分享链接 返回 返回顶部

1Panel配置SNI实现单IP多SSL证书访问

发布人: 发布时间:10小时前 阅读量:6

背景概述

在传统Web部署中,一个公网IP通常对应一个SSL证书。当多个域名需要共用同一IP时,往往面临证书冲突问题。通过SNI(Server Name Indication)技术,服务器可以在TLS握手阶段根据客户端请求的域名返回对应证书,从而实现单IP承载多个HTTPS站点。1Panel开源运维面板提供了简便的可视化配置方式,使这一过程更加高效。

SNI技术原理

SNI是TLS协议的标准扩展,客户端在发起HTTPS请求时,会在ClientHello消息中包含目标域名。Nginx等Web服务器可以读取该字段,并动态选择匹配的证书和配置。这也意味着,每个域名必须绑定独立的证书,且证书CN或SAN必须包含对应域名,否则浏览器会报安全警告。

1Panel中的配置步骤

1. 创建多个网站

在1Panel控制面板中,进入“网站”菜单,分别创建对应不同域名的网站。每个网站独立绑定域名,例如示例中站点A绑定a.example.com,站点B绑定b.example.com。两者共享同一个公网IP和443端口。

2. 配置SSL证书

为每个网站单独配置证书。1Panel支持上传已有证书或自动申请Let's Encrypt证书。确保证书类型选择与域名匹配,并启用HTTPS强制访问。在网站设置中找到“HTTPS”选项,开启“启用HTTPS”开关,并选择对应证书。

3. 确认SNI生效

完成证书绑定后,系统会自动生成Nginx配置片段,其中包含server_name和ssl_certificate指令。1Panel默认启用SNI支持,无需额外修改。可重启Nginx服务使配置生效。

4. 验证结果

在本地浏览器中分别访问两个域名,应看到各自对应的证书锁标志。也可以通过命令行工具验证:

openssl s_client -connect 服务器IP:443 -servername a.example.com

返回的证书应属于a.example.com;使用b.example.com再次测试,得到另一张证书。

注意事项

  • 证书域名匹配:每个证书的域名不得包含其他站点的域名,避免混淆。
  • 防火墙与安全组:确保443端口对所有需要访问的IP开放。
  • HTTP跳转:建议为每个站点配置HTTP到HTTPS的301跳转,提升访问安全性。
  • 资源共享:多个站点共享同一IP和端口,但CPU、内存等资源仍独立占用,注意监控性能。

总结

通过1Panel的图形化界面,无需手动修改复杂配置文件即可完成SNI设置,实现单IP多SSL证书的稳定访问。这不仅降低了证书管理成本,也方便了运维人员在同一服务器上部署多个安全域名。对于IDC服务商和个人站长而言,这是提升资源利用率的高效方案。

目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com