虚拟主机搭建的网站如何安装SSL证书?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟主机搭建的网站如何安装SSL证书?相关的知识,希望对你有一定的参考价值。
虚拟主机如何配置ssl证书,apache服务器。
在Apache上安装SSL证书。将证书文件复制到您的服务器。
Apahce服务器SSL证书安装
1. 从客户区域下载中间(ComodoRSACA.crt)和基本证书(your_domain_name.crt),然后把它们复制到将会保存证书和密钥文件的服务器的目录上。让它们仅凭根可读。
2. 找到将要进行编辑的Apache配置文件
服务器不同,配置文件所在的位置和名称也会不同,尤其是如果您使用了一个特殊的界面来管理您的服务器配置。
Apache主要的配置文件通常命名为httpd.conf或apache2.conf。这一文件可能位于/etc/httpd/或/etc/apache2/。欲了解不同操作系统和分布中的Apache HTTPD的默认安装布局情况,请查看Httpd Wiki - DistrosDefaultLayout。
通常,SSL证书配置文件位于一个不同的配置文件中的<虚拟主机>块中。配置文件可能位于像/etc/httpd/vhosts.d/和/etc/httpd/sites/那样的目录下,或者在一个名为httpd-ssl.conf的文件中。
在Linux分布上定位SSL配置文件的一个方式是,按如下例子所示,使用grep命令进行搜索。
输入以下命令:
grep -i -r “SSLCertificateFile” /etc/httpd/
/etc/httpd/是Apache安装的基本目录。
3. 根据SSL的使用情况,配置虚拟主机。
如果您需要您的网站能够同时通过安全的(https)和不安全的(http)连接进行访问,您将需要为每种类型的连接配置虚拟主机。将现有连接为不安全的虚拟主机进行备份,然后按步骤4所述配置它。
如果您想要您的网站只能通过https访问,请按步骤4所述为SSL配置虚拟主机。
4. 为启用了SSL的网站配置<虚拟主机>块。
以下是一个为使用了SSL证书的网站配置虚拟主机的简单的例子。粗体是必须进行配置的部分:
更改文件名以匹配您的证书文件:
SSLCertificateFile应当是您的Comodo证书文件(如your_domain_name.crt)。
SSLCertificateKeyFile应当是创建CSR时所生成的密钥文件。
SSLCertificateChainFile应当是Comodo中间证书文件(ComodoRSACA.crt)
如果SSLCertificateChainFile指令不能正常运行,试着使用SSLCACertificateFile 命令。
5. 重启前测试Apache配置
重启前检查Apache配置文件以查看是否有任何错误总是最好的,因为如果您的配置文件有语法错误,Apache将不能启动。运行以下命令:(在一些系统上是apache2ctl)
apachectl configtest
6. 重启Apache
您可以使用apachectl命令来停止和启动支持SSL的服务器:
apachectl stop
apachectl start
注意:如果支持SSL的服务器不能启动,尝试使用“apachectl startssl”而不是“apachectl start”。如果SSL支持只能加载“apachectl startssl”,我们建议您调整Apache的启动配置,将SSL支持包括在常规的“apachectl start”命令中。否则,您的服务器在重启时可能会要求使用“apachectl startssl”手动重启Apache。这通常包括移除封装您的SSL配置的<IfDefine SSL> 和</IfDefine>标签。
Apache SSL证书、指南和教程
疑难排解:
1. 如果你的web网站是公共可访问的,我们的SSL证书检查器(https://secure.comodo.com/utilities/sslchecker.html)工具能够帮助你诊断常见的问题。
2. 如果您为了满足PCI合规性要求,需要禁用第二个版本SSL的兼容性,你将需要添加以下命令到你的Apache配置文件中:
SSLCipherSuite HIGH:+MEDIUM:!SSLv2:!EXP:!ADH:!aNULL:!eNULL:!NULL
如果命令已经存在,你将可能需要对它进行修改,禁用第二个版本的SSL。
参考技术A虚拟主机通常不支持SSL证书,不过有部分虚拟主机也支持。
虚拟主机安装SSL证书:
- 确定虚拟主机是否可以SSL证书只要查看控制面板是否有SSL安装功能。
阿里云、西部数码、景安部分虚拟主机支持SSL证书安装。
虚拟主机是不支持直接去服务器环境安装的,因为虚拟主机属于共享一台服务器资源的主机,所以大部分虚拟主机产品都不支持的。
解决办法:虚拟主机不支持安装SSL证书可以让Gworg进行接入信任。
参考技术BApache安装ssl证书:
获取服务器证书,在网站购买证书之后把crt文件和私钥保存到同一个目录下;
修改httpd.conf和httpd-ssl.conf两个文件;
重启Apache。
下载Openssl安装包并解压,推荐使用默认配置 make && make install //编译及安装 ,openssl默认将被安装到/usr/local/ssl。
二、 让apache支持ssl,编译的时候,要指定ssl支持
静态方法即–enable-ssl=static –with-ssl=/usr/local/ssl
动态方法–enable-ssl=shared –with-ssl=/usr/local/ssl
其中第二种方法会在module/ 目录下生成 mod_ssl.so 模块,而静态不会有,当然第二种方法也需要在httpd.conf 中加入LoadModule ssl_module modules/mod_ssl.so
三、获取SSL证书
1)创建私钥。在创建证书请求之前,您需要首先生成服务器证书私钥文件。
cd /usr/local/ssl/bin //进入openssl安装目录
openssl genrsa -out server.key 2048 //运行openssl命令,生成2048位长的私钥server.key文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,Linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。
cp server.key /usr/local/apache/conf/ssl.key/
2)生成证书请求(CSR)文件
openssl req -new -key server.key -out certreq.csr
Country Name: //您所在国家的ISO标准代号,中国为CN
State or Province Name: //您单位所在地省/自治区/直辖市
Locality Name: //您单位所在地的市/县/区
Organization Name: //您单位/机构/企业合法的名称
Organizational Unit Name: //部门名称
Common Name: //通用名,例如:www.itrus.com.cn。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。
Email Address: //您的邮件地址,不必输入,直接回车跳过
“extra”attributes //以下信息不必输入,回车跳过直到命令执行完毕。
3)备份私钥并提交证书请求
请将证书请求文件certreq.csr提交给天威诚信,并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。
四、安装SSL证书
为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。
从邮件中获取中级CA证书:
将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为conf/ssl.crt/intermediatebundle.crt文件(如果只有一张中级证书,则只需要保存并安装一张中级证书)。
五、完成apache配置 2.0的配置
httpd.conf 中增加
Listen443
NameVirtualHost *:443
DocumentRoot “/data/web/www”
ServerName aaa.com:443
ErrorLog “logs/error.log”
CustomLog “logs/access.log” combined
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt
如何安装SSL证书
如何安装SSL证书呢?详细步骤如下:第1步:转化成证书所请求的文档(CSR)。
在选购并安_SSL证书以前,你务必在网络服务器上制做一个CSR文档。该文档中的公钥会用于转化成私钥,在Apache中键入以下指令就能立即转化成CSR:
开启OpenSSL专用工具,相对路径一般为/usr/local/ssl/bin/。
键入以下指令转化成密匙:
opensslgenrsa_des3_outwww.mydomain.com.key2048
然后进行密码设置,之后每一次采用密匙时都是需要你输入支付密码的。
刚开始转化成CSR,接到提醒就能建立CSR,输入以下的指令:
opensslreq_new_keywww.mydomain.com.key_outwww.mydomain.com.csr
需要填完基本信息,这种信息内容包含:二位数的国家代码、州名或省区名、城区名、公司全称、单位名字(如:IT部或业务部)及通用性名(也就是说网站域名)。
填完信息内容后,键入下列指令就能在网络服务器上转化成CSR文档了:
opensslreq-noout-text-inwww.mydomain.com.csr
第2步:申请办理SSL证书。
SSL证书申请办理服务项目的网址有许多,一定要挑选有名的网站申请,毕竟这关联到你与你客户的安全保障。
要依据自身的要求(如多个证书的申请办理、服务企业解决方法等)来挑选最合适自身的网址。
在网址上申请办理时,必须递交CSR文档,那样你的网络服务器上就能转化成证书了。
第3步:免费下载证书。
在你选购证书的网址上,你必须先要下载一份初级证书。然后,就会在电子邮件接到一份初中级证书,在其中的密匙应为:
-----BEGINCERTIFICATE-----[EncodedCertificate]-----ENDCERTIFICATE-----
假如证书是文字方式的,那_在发送以前,你可以先将其变换为CRT文档。
在查验下载的密匙时,密匙中BEGINCERTIFICATE及ENGCERTIFICATE的两侧应当都有5个“-”,另外要保证密匙中_有不必要的空格符或空白行。
第4步:将证书上传到网络服务器。
证书要放到专业用以储放证书及密匙文档的文件夹名称里。比如,你能将全部有关文档都储放在以下相对路径下:/usr/local/ssl/crt/。
第5步:在文本编辑器中开启“http.conf”文档。
一些版本号的Apache包括一个称为“ssl.conf”的配置文件。2个文档只需要改动其一,在VirtualHost一部分加上以下编码:
SSLCertificateFile/usr/local/ssl/crt/primary.crtSSLCertificateKeyFile/usr/local/ssl/private/private.keySSLCertificateChainFile/usr/local/ssl/crt/intermediate.crt
之后,储存对文档的改动,特殊状况下可以重新上传。
第6步:重新启动网络服务器。
文档改动后,需要重新启动一下网络服务器就能够开始应用SSL证书了,大部分的版本中能够根据以下指令来重新启动:
apachectlpstopapachectlstartssl
第7步:检测证书。
用各种各样电脑浏览器来检测一下SSL证书是不是合理,根据“http://”来开启SSL证书,接到你的网址,你能见到搜索框的背景图是翠绿色的,还有一个锁状的标志。
本文章基于Dell灵越5000品牌、Windows10系统撰写的。 参考技术A 分系统IIS7/8还是Tomcat/Nginx/Apache
比如Nginx。
登录系统将会下载一个压缩文件,解压该压缩文件,使用压缩文件里面的NginxServer文件
解压之后获得证书如下图:
1.2私钥文件
请找到之前提交csr时生成的.key私钥文件,该文件为证书的私钥,请找到此文件,后面配置要用到此文件;
二、 安装服务器证书
1. 配置ssl证书
打开nginx安装目录下conf目录中的nginx.conf文件,找到被注释掉的server 配置,把服务器证书youdomain.crt和私钥youdomain.key上传到配置文件指向的目录/usr/local/nginx/conf/(具体文件路径可以自行指定)保存退出,进行修改:
server listen 443 ssl; server_name www.yourdomian.com; #证书绑定的网站域名 ssl on; ssl_certificate /conf/www.youdomain.com.crt; #公钥 ssl_certificate_key /conf/www.youdomain.com.key; #私钥 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL; ssl_prefer_server_ciphers on; location / root html; #站点目录 index index.html index.htm;
最后重启nginx后通过https方式访问您的站点,测试站点证书的安装配置。 参考技术B 不同服务器环境配置SSL证书的方法是不一样的,具体的可以参考安信证书网站的技术教程,常见的服务器配置SSL证书方法都有。
以上是关于虚拟主机搭建的网站如何安装SSL证书?的主要内容,如果未能解决你的问题,请参考以下文章
如何为自己的WordPress站点安装SSL证书开启https访问