完成了ubuntu 16.04下安装openssl和【Openssl】如何生成Certificate Signing Request(CSR)?。这样我们可以通过第三方网站申请SSL证书,如阿里云。申请完成以后,需要把申请的证书安装到服务器上。下面给大家介绍如何将申请的证书安装到Ubuntu + Apache的环境中。
下载证书
- 在证书下载对话框中定位到Apache服务器,将Apache版证书压缩包下载到本地。
- 解开压缩包,您将看到文件夹中有3个文件
- 证书文件(以.crt为后缀或文件类型)
- 证书链/IntermediateCA文件(以.crt为后缀或文件类型)
- 秘钥文件(以.key为后缀或文件类型)
安装证书
在Apache安装目录中新建cert目录,并将下载的Apache证书、证书链和秘钥文件拷贝到cert目录中。
打开Apache/conf/httpd.conf,在httpd.conf文件中找到以下参数并进行配置,按照下面的方式配置即可:
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
Documentroot "网站目录"
ServerName www.test.com 需要与申请时绑定的域名一致
ErrorLog ${APACHE_LOG_DIR}/aemtest-error.log
CustomLog "/var/log/apache2/aemtest-ssl_request_log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
SSLEngine on
#下面是收到的三个证书
SSLCertificateFile /apache/cert/ssl_certificate.crt
SSLCertificateKeyFile /apache/cert/private.key
SSLCACertificateFile /apache/cert/IntermediateCA.crt
#SSLCertificateChainFile /apache/cert/chain.crt
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
#<Directory /usr/lib/cgi-bin>
# SSLOptions +StdEnvVars
#</Directory>
<Directory "/opt/data/www/cwr">
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
重启Apache
sudo /etc/init.d/apache2 restart
查看证书
使用https访问站点,查看证书。