首页主机资讯ubuntu域名怎么绑定SSL证书

ubuntu域名怎么绑定SSL证书

时间2025-12-08 23:11:04发布访客分类主机资讯浏览1006
导读:Ubuntu 域名绑定 SSL 证书实操指南 一 准备工作 一台运行 Ubuntu 的服务器,已安装 Nginx 或 Apache,并且站点已可通过 HTTP 80 访问。 已将你的 域名解析到服务器公网 IP(A 或 AAAA 记录)。...

Ubuntu 域名绑定 SSL 证书实操指南

一 准备工作

  • 一台运行 Ubuntu 的服务器,已安装 NginxApache,并且站点已可通过 HTTP 80 访问。
  • 已将你的 域名解析到服务器公网 IP(A 或 AAAA 记录)。
  • 开放防火墙端口:建议允许 80/443(如使用 UFW,可执行:sudo ufw allow ‘Nginx Full’)。
  • 若使用云厂商或自管 CA 的证书,准备好证书文件:通常为 域名证书 .crt私钥 .key中间证书链 .crt/chain.crt

二 方案一 使用 Let’s Encrypt 自动获取并部署(推荐)

  • 安装 Certbot(两种常用方式,择一即可)
    • 方式 A(Debian 系常见仓库):sudo apt update & & sudo apt install certbot python3-certbot-nginx
    • 方式 B(Snap 推荐):sudo apt install snapd -y & & sudo snap install core & & sudo snap refresh core & & sudo snap install --classic certbot & & sudo ln -s /snap/bin/certbot /usr/bin/certbot
  • 获取并自动配置证书
    • Nginx:sudo certbot --nginx -d example.com -d www.example.com
    • Apache:sudo certbot --apache -d example.com -d www.example.com
    • 按交互提示选择是否将 HTTP 重定向到 HTTPS(建议选择重定向)。
  • 验证与续期
    • 访问 https://example.com 检查锁标识与证书信息。
    • 测试自动续期:sudo certbot renew --dry-run(Let’s Encrypt 证书有效期 90 天,Certbot 通常会自动创建定时任务)。

三 方案二 手动部署已有证书(Nginx 与 Apache 示例)

  • Nginx 手动配置示例
    • 证书路径示例:/etc/letsencrypt/live/example.com/fullchain.pem 与 privkey.pem(或你的自定义路径)。
    • 配置片段:
      server {
          
          listen 443 ssl http2;
          
          server_name example.com www.example.com;
          
      
          ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
          
          ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
          
          include            /etc/letsencrypt/options-ssl-nginx.conf;
          
          ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;
      
      
          location / {
          
              root /var/www/html;
          
              index index.html index.htm;
      
          }
      
      }
      
      server {
          
          listen 80;
          
          server_name example.com www.example.com;
          
          return 301 https://$host$request_uri;
      
      }
          
      
    • 检查并重载:sudo nginx -t & & sudo systemctl reload nginx
  • Apache 手动配置示例
    • 准备证书:sudo mkdir -p /etc/apache2/ssl
    • yourdomain.crt / yourdomain.key / chain.crt 复制到 /etc/apache2/ssl
    • 启用模块与站点:sudo a2enmod ssl & & sudo a2ensite default-ssl.conf
    • 编辑 /etc/apache2/sites-available/default-ssl.conf(或 000-default-le-ssl.conf):
      <
          VirtualHost *:443>
          
          ServerName example.com
          SSLEngine on
          SSLCertificateFile    /etc/apache2/ssl/yourdomain.crt
          SSLCertificateKeyFile /etc/apache2/ssl/yourdomain.key
          SSLCertificateChainFile /etc/apache2/ssl/chain.crt
          # 其他目录与日志配置…
      <
          /VirtualHost>
          
      
    • 443 未监听,检查 /etc/apache2/ports.conf 包含 Listen 443
    • 重载:sudo systemctl reload apache2
    • 可选 HTTP→HTTPS 重定向(在 000-default.conf 的 80 端口 VirtualHost 中添加):Redirect permanent / https://example.com/

四 常见问题与排查

  • 端口与防火墙:确认云安全组/本机防火墙已放行 80/443;UFW 可用 sudo ufw allow ‘Nginx Full’
  • 域名验证失败:确保域名 A/AAAA 记录已生效 且指向当前服务器;使用 certonly 模式时,需保证 80/443 可被访问以完成 ACME 验证。
  • 配置语法与生效:修改后用 nginx -tapache2ctl configtest 检查,再 reload/restart 服务。
  • 续期失败排查:执行 sudo certbot renew --dry-run,查看日志定位 DNS、端口、权限等问题;证书到期前会自动续期。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu域名怎么绑定SSL证书
本文地址: https://pptw.com/jishu/766461.html
ubuntu jenkins部署资源需求有哪些 如何快速在ubuntu上部署jenkins

游客 回复需填写必要信息