您的位置:首页 > 运维架构 > Apache

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

2017-07-05 18:30 399 查看

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

安装步骤:

获取证书CA:

阿里云申请SSL证书,绑定网站域名,其中申请和绑定步骤详情请见:阿里云证书申请及绑定流程

下载下来的证书压缩包中如下:



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

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



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



安装下载的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映射至/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

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

接下来我们来处理无论是HTTP还是HTTPS都强制定向为HTTPS:

(I)使用命令:a2enmod rewrite加载Apache的rewrite模块,貌似还会提醒重启Apache;

(II)加载完成后,使用nano修改Apache2.conf,找到如下:



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

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

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

RewriteEngine On
RewriteCond %{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系统命令稍有不同,如有错误请各位大神指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  debian apache ssl