Ubuntu系统Apache 2部署SSL证书

几天前用Apache 2部署了一个静态网页,但通过域名访问时Google提示“不安全”,经了解,原来是缺少证书。

什么是SSL证书?

SSL 是指安全套接字层,简而言之,它是一项标准技术,可确保互联网连接安全,保护两个系统之间发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,包括个人资料。两个系统可能是指服务器和客户端(例如,浏览器和购物网站),或两个服务器之间(例如,含个人身份信息或工资单信息的应用程序)。

 环境准备

操作系统:Ubuntu

Web服务器:Apache 2

我使用的是已安装好Apache 2的阿里云Ubuntu 16.04.

 前提条件

需要下载SSL证书,我是在阿里云申请的免费证书(SSL证书控制台

操作步骤

1、运行以下命令在apache2目录下创建ssl目录。

mkdir /etc/apache2/ssl

2、运行以下命令将下载的阿里云证书文件复制到ssl目录中。

cp -r YourDomainName_public.crt /etc/apache2/ssl
cp -r YourDomainName_chain.crt /etc/apache2/ssl
cp -r YourDomainName.key /etc/apache2/ssl

3、运行以下命令启用SSL模块。

sudo a2enmod ssl

 

SSL模块启用后可执行ls /etc/apache2/sites-available查看目录下生成的default-ssl.conf文件。

说明 443端口是网络浏览端口,主要用于HTTPS服务。SSL模块启用后会自动放行443端口。若443端口未自动放行,可执行 vi /etc/apache2/ports.conf并添加 Listen 443手动放行。

4、运行以下命令修改SSL配置文件default-ssl.conf。

vi /etc/apache2/sites-available/default-ssl.conf

在 default-ssl.conf文件中找到以下参数进行修改后保存并退出。

<IfModules mod_ssl.c>
<VirtualHost *:443>  
ServerName www.YourDomainName.com。
SSLCertificateFile /etc/apache2/ssl/YourDomainName_public.crt   #证书文件路径+证书文件名。
SSLCertificateKeyFile /etc/apache2/ssl/YourDomainName.com.key  
SSLCertificateChainFile /etc/apache2/ssl/YourDomainName.com_chain.crt  

修改完后如图:

 

/sites-available:该目录存放的是可用的虚拟主机;/sites-enabled:该目录存放的是已经启用的虚拟主机。

 说明 default-ssl.conf文件可能存放在 /etc/apache2/sites-available或 /etc/apache2/sites-enabled目录中。
5、运行以下命令把default-ssl.conf映射至/etc/apache2/sites-enabled文件夹中建立软链接、实现二者之间的自动关联。
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf

6、运行以下命令重新加载Apache 2配置文件。

sudo /etc/init.d/apache2 force-reload

7、运行以下命令重启Apache 2服务。

sudo /etc/init.d/apache2 restart

检验

Apache 2服务重启成功后,您可在浏览器中输入https://www.YourDomainName.com验证证书安装结果。浏览器地址栏显示绿色的小锁标识说明证书安装成功。

 

 

参考链接:

 1、https://help.aliyun.com/document_detail/102450.html?spm=5176.2020520154.cas.13.7fd17EDz7EDzpx

 2、https://www.websecurity.symantec.com/zh/cn/security-topics/what-is-ssl-tls-https

posted @ 2019-03-17 13:26  Rogn  阅读(712)  评论(0编辑  收藏  举报