You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu Server下配置Apache的HTTP/HTTPS及Let's Encrypt加密的HTTP重定向求助

Ubuntu Server下配置Apache的HTTP/HTTPS及Let's Encrypt加密的HTTP重定向求助

嗨,看起来你已经把Apache虚拟主机的HTTP部分搞定了,很棒!接下来配置HTTPS和自动重定向其实不难,用Let's Encrypt的Certbot工具就能一键搞定大部分工作,我给你一步步捋清楚:

  • 第一步:开启Apache必要模块
    HTTPS依赖ssl模块,HTTP转HTTPS的重定向需要rewrite模块,先启用它们:

    sudo a2enmod ssl rewrite
    sudo systemctl restart apache2
    
  • 第二步:安装Certbot工具
    Ubuntu官方源里直接提供了适配Apache的Certbot版本,先更新软件源再安装:

    sudo apt update
    sudo apt install certbot python3-certbot-apache
    
  • 第三步:获取证书并自动配置HTTPS+重定向
    运行Certbot的Apache引导命令,它会自动识别你已有的虚拟主机配置,帮你生成证书、配置HTTPS规则,还能一键开启HTTP转HTTPS:

    sudo certbot --apache
    

    跟着提示操作就行:

    1. 输入你的邮箱(用于接收证书过期提醒)
    2. 同意服务条款
    3. 选择是否共享邮箱(可选操作)
    4. 选中你要配置HTTPS的目标域名(对应你之前创建的虚拟主机)
    5. 最后会询问是否将HTTP请求重定向到HTTPS,选2: Redirect - Make all requests redirect to secure HTTPS access(或对应数字选项)
  • 第四步:验证配置效果
    重启Apache确保所有配置生效:

    sudo systemctl restart apache2
    

    现在可以测试了:

    • 访问http://你的域名,应该会自动跳转到https://开头的地址
    • 访问https://你的域名,浏览器地址栏会显示锁形图标,说明证书正常生效
      你还可以用这条命令查看证书的有效期和状态:
    sudo certbot certificates
    
  • 额外注意事项

    • 如果是公网访问,要确保你的域名已经正确解析到服务器的公网IP
    • 防火墙要开放80(HTTP)和443(HTTPS)端口,用ufw的话可以直接允许Apache的完整规则:
      sudo ufw allow 'Apache Full'
      
    • Certbot默认会配置证书自动续期,你可以用sudo certbot renew --dry-run测试续期流程是否正常

备注:内容来源于stack exchange,提问作者amd.64

火山引擎 最新活动