侧边栏壁纸
博主昵称
Yi

细说Apache2手动部署ssl证书

  • yi 2025年04月15日 47阅读 0评论
  • 为什么要用HTTPS

    从前我也有这种疑问,既然80端口的http能用为什么还要麻烦去申请域名证书?直到网站频繁跳转色情网站我才意识到不对劲,紧接着就出现了警告短信!
    1000003009
    我的网站就这么赤裸裸的被劫持了,当我重新去部署ssl时才发现即使申请使用了证书,但是网站还是一样会被劫持,一时之间不知道是哪里的问题,于是我备份好网站数据,将网站迁移至本地,这场闹剧才算结束。

    腾讯云下载域名证书

    由于我的域名是在腾讯云购买和备案的,所以我得去腾讯云官网申请证书和下载,如果你的设备和域名都是腾讯云的你可以直接一键部署,无需这些麻烦的操作
    腾讯云证书申请直达链接
    点申请证书后,选择免费申请90天的(之前免费的有一年呢,现在就三个月了,到期还得回该网站续期,万恶的资本家!!!)
    1000003017

    下载证书也提供了好几种,最常用的其实也就 NGINX and Apache2 nginx配置PHP多一道麻烦,我直接用Apache2,下载好后解压安装包可以得到下图文件
    1000003021

    为apache服务器添加ssl模块支持

    a2enmod ssl

    紧接着需要把这些文件移动到 certs和private 这两个文件夹,按照下面这个路径标准。

    修改 /etc/apache2/sites-available/default-ssl.conf 找到VirtualHost *:443的配置,并参考如下配置(修改或增加):

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/你的域名.crt
    SSLCertificateKeyFile /etc/ssl/private/你的域名.key
    SSLCertificateChainFile /etc/ssl/certs/root_bundle.crt
    SSLProtocol  all -SSLv2 -SSLv3
    SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL
    SSLHonorCipherOrder on

    1000003025
    保存后,给配置文件建立一个软连接,命令如下:

    a2ensite default-ssl

    进入查看/etc/apache2/ports.conf 文件是否已有添加Listen 443,如果默认已添加,忽略此步骤。
    1000003023

    先命令检测配置是否正确,若不正确,请不要重启apache2!检测命令如下,如果成功,则显示下面图片

    /usr/sbin/apache2ctl -t

    1000003007
    若提示 Syntax OK 则表示配置正常(如果提示错误,请根据具体错误修改,直到提示Syntax OK),可以重启apache2,命令如下:

    systemctl restart apache2

    HTTP重定向到HTTPS

    若可以成功访问https,那么我们再执行最后一步,强制用户即使输入http,也跳转到https上。添加下列三行代码即可。修改 /etc/apache2/sites-available/000-default.conf 文件

    <VirtualHost *:80>
    ...
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    ...
    </VirtualHost>

    保存后执行 a2enmod rewrite 最后再重启Apache2服务器 systemctl restart apache2 大功告成!

    0

    —— 评论区 ——

    昵称
    邮箱
    网址
    取消
    博主栏壁纸
    博主头像 Yi

    12 文章数
    7 标签数
    3 评论量