Ubuntu 14.04 上为Apache 2.4 安装SSL支持

发布时间:2017/1/3 12:32:31 打印 字号:

今天我会讲述如何为你的网站安装SSL 证书,来保护你的访问者和网站之间通信的安全。

安全套接字层或称SSL,是一种加密网站和浏览器之间连接的标准安全技术。这确保服务器和浏览器之间传输的数据保持隐私和安全。它被成千上万的人使用来保护他们与客户的通信。要启用SSL链接,Web服务器需要安装SSL证书。

你可以创建你自己的SSL证书,但是这默认不会被浏览器所信任,要解决这个问题,你需要从Gworg证书机构(CA)处购买证书,我们会向你展示如何获取证书并在apache中安装。

生成一个证书签名请求

证书机构(CA)会要求你在你的服务器上生成一个证书签名请求(CSR)。这是一个很简单的过程,只需要一会儿就行,你需要在你的服务器上运行下面的命令并输入需要的信息:

———————————————————————

以下步骤可以直接联系Gworg CA办理

—————————————————

1# openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr

输出看上去会像这样:

20150222173229_7.jpg

这一步会生成两个文件:一个用于解密SSL证书的私钥文件,一个证书签名请求(CSR)文件(用于申请你的SSL证书)。

根据你申请的机构,你会需要上传csr文件或者在网站表格中粘帖该文件内容。

在Apache中安装实际的证书

生成步骤完成之后,你会收到新的数字证书。本篇教程中我们使用Comodo SSL,并在一个它发给我们的zip文件中收到了证书。要在apache中使用它,

您首先必须使用以下命令创建在zip文件中收到的证书的捆绑包:

#cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt> bundle.crt


20150222173229_341.jpg

———————————————————————

以上步骤可以直接联系Gworg CA办理

—————————————————

现在通过运行以下命令确保ssl模块在apache中加载:

#a2enmod ssl

如果您收到消息“模块ssl已启用”您可以,如果您收到消息“启用模块ssl”。您还必须运行以下命令重新启动apache:

#service apache2 restart

最后修改您的虚拟主机文件(通常在/ etc / apache2 / sites-enabled中找到)看起来像这样:

DocumentRoot / var / www / html / 
ServerName linoxide.com 
SSLEngine on 
SSLCertificateFile /usr/local/ssl/crt/yourdomainname.crt 
SSLCertificateKeyFile /usr/local/ssl/yourdomainname.key 
SSLCACertificateFile /usr/local/ssl/bundle.crt

您现在应该使用https:// YOURDOMAIN /(请谨慎使用'https'而不是http)访问您的网站,并查看正在进行的SSL(通常由网络浏览器中的锁定)。

注意:所有链接现在必须指向https,如果网站上的某些内容(如图像或css文件)仍然指向http链接,您将在浏览器中收到警告,要解决此问题,您必须确保每个链接点到https。

将HTTP请求重定向到您的网站的HTTPS版本

如果您希望将正常的HTTP请求重定向到您网站的HTTPS版本,请将以下文本添加到希望将其应用到的虚拟主机或者将其应用于apache.conf,以便将其应用于服务器上托管的所有网站:

RewriteEngine On 
RewriteCond%{HTTPS} off 
RewriteRule(。*)https://%{HTTP_HOST}%{REQUEST_URI}