Debian系统中Apache2.4安装SSL证书

来源:互联网 发布:五线谱翻译简谱软件 编辑:程序博客网 时间:2024/05/20 16:37

Debian中的Apache2安装SSL证书(赛门铁克)

安装步骤:

  1. 获取证书CA:
    阿里云申请SSL证书,绑定网站域名,其中申请和绑定步骤详情请见:阿里云证书申请及绑定流程
    下载下来的证书压缩包中如下:

    证书压缩包

    解压放到系统中任意文件夹中,本人在/etc/apache2/ 目录下创建了cert目录,文件放在cert中。

  2. 加载OpenSSL模块,终端或者xshell中输入openssl,查看是否安装ssl,如果出现下面图情况说明已经安装过了。

    输入openssl命令

  3. 加载Apache的SSL模块,输入命令:a2enmod ssl,我是已经加载过的,见下图所示,第一次时候,会提示重启Apache:

    加载apache的ssl模块

  4. 安装下载的CA证书:Apache加载SSL模块后,会在/etc/apache2/sites-available下生成default-ssl.conf文件,通过nano /etc/apache2/sites-available/default-ssl.conf命令或vi命令编辑该文件:
    (I)第一个VirtualHost标签www.theyun.com:443
    (II)ServerName www.theyun.com
    (III)SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
    (IV)SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
    (V)SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt

    配置default-ssl.conf

  5. 把default-ssl.conf映射至/etc/apache2/sites-enabled文件夹:
    (I) 使用命令 ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf 进行映射操作,此处将可用配置映射到启用配置中。
    (II)重新加载Apache配置文件:sudo /etc/init.d/apache2 force-reload
    (III)重启Apache服务:sudo /etc/init.d/apache2 restart

  6. 现在就可以测试,浏览器输入https://www.theyun.com,在加载SSL模块的同时,也自动放行了443端口,如果没有的话,可以手动设置一下

  7. 接下来我们来处理无论是HTTP还是HTTPS都强制定向为HTTPS:
    (I)使用命令:a2enmod rewrite加载Apache的rewrite模块,貌似还会提醒重启Apache;
    (II)加载完成后,使用nano修改Apache2.conf,找到如下:

    修改重定向

    将AllowOverride 后的None修改为All,这样才能使后面创建的.htaccess文件有用。

  8. 在网站的根目录根,使用命令touch .htaccess来创建.htaccess文件,这个文件是个隐藏文件,在Linux下是看不到的,可以通过ls -a命令来查看;

  9. 使用nano命令对其修改,输入如下内容:

    RewriteEngine OnRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)$ https://www.theyun.com/$1 [L,R]

    这些都是是正则匹配,我们可以把RewriteRule(重定向规则)进行修改,我把https://后面的改成了自己的网站,防止SERVER_NAME没设置什么的,以防万一。
    重新加载Apache配置,重启Apache2,然后用http访问会自动重定向到https,到此SSL配置结束!

备注:本人新手菜鸟,刚接触Linux不久,由于公司网站需要https安全访问,配置SSL证书;证书来源于阿里云,因为域名实在阿里云上绑定的;此文章为总结所得,且针对Debian系统,其他Linux系统命令稍有不同,如有错误请各位大神指正。

原创粉丝点击