站点图标 Linux-技术共享

如何在APACHE下配置安装SSL证书

faq_2019121101_clip_image001

在APACHE下配置安装SSL证书主要有以下几个步骤:
1. 生成证书请求文件(CSR)
在购买安装SSL证书之前,您需要在服务器上制作一个CSR文件。该文件中的公钥会用来生成私钥。在Apache中输入如下命令就能直接生成CSR:
A. 打开OpenSSL工具,路径一般为/usr/local/ssl/bin/;
B. 输入如下命令生成密钥:"openssl genrsa –des3 –out www.mydomain.com.key 2048";
C. 设置密码,以后每次用到密钥时都会要求您输入密码;
D. 开始生成CSR。当您收到提示开始创建CSR时,请输入如下命令:
"openssl req –new –key www.mydomain.com.key –out www.mydomain.com.csr"
E. 填好相关信息。这些信息包括:两位数的国家代码、州名或省份名、城镇名、企业全名、部门名称(如:IT部或市场部)及通用名(也就是域名)。
F. 生成CSR文件。填好信息后,输入以下命令就能在服务器上生成CSR文件了:
"openssl req -noout -text -in www.mydomain.com.csr"
2. SSL证书申请
目前提供在线SSL证书申请服务的网站有很多,有免费的也有付费的。大家可根据自己的实际情况选择,不过一定要选择通用性好,支持所有浏览器的ssl证书。当您选择好相关网站,开始在网站上申请时,需要进行CSR文件提交,这样服务器上就能生成证书了。
3. 证书下载
在您购买证书的网站上,您需要下载一份中级证书。然后,您就会通过邮件或在网站客户区收到一份初级证书,其中的密钥应如下所示:
"
-----BEGIN CERTIFICATE-----
[Encoded Certificate]
-----END CERTIFICATE-----
"
如果证书是文本形式的,那么在上传之前,你要先将其转换为CRT文件。接下来,检查下载的密钥。密钥中BEGIN CERTIFICATE及ENG CERTIFICATE的两边应该各有5个"-"。同时要确保密钥中没有多余的空格或空行。
4. 将证书上传到服务器
证书应放在专门用于存放证书及密钥文件的文件夹里。举个栗子来说,您可以将所有相关文件都存放在如下路径中:/usr/local/ssl/crt/。
5. 在文本编辑器中打开"http.conf"文件
有些版本的Apache没有"http.conf"的文件,而是包含一个叫做"ssl.conf"的配置文件。这两个文件只能修改其一。打开文件后,您需要在Virtual Host部分添加如下代码:
"
SSLCertificateFile /usr/local/ssl/crt/primary.crt
SSLCertificateKeyFile /usr/local/ssl/private/private.key
SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt
"
完成后,保存对文件的修改(必要情况下需重新上传)。
6. 重启服务器
文件修改后,只要重启一下服务器就可以开始使用SSL证书了。大多数版本都可以通过如下命令来重启:
"
apachectlp stop
apachectl startssl
"
7. 证书测试
最后,您可以用各种浏览器来测试一下SSL证书是否有效。通过"https://"来启用SSL证书,连接到自己的网站,看看浏览器地址栏是否出现了一个绿色锁状的图标。
如果,部署SSL证书以后,网站默认不会自动跳转到https,还需要通过伪静态实现强制跳转,方法如下:
在网站根目录新建 .htaccess,并写入如下内容:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
这样即可实现网站http自动跳转https。
您也可以下载下面已配置好的.htaccess文件,上传到网站根目录既可。
注意:https使用443端口,请注意服务器已经开放此端口。云服务器还需要到控制台开放此端口。

退出移动版