九零冰讯网络领先的智能客户推荐平台

在数十家权威新闻媒体建立子网站进行关键词布局,通过关键词布局,在各大搜索引擎中排名前列,真正实现全网营销的效果。

apache配置ssl证书,实现多个网站https

时间 : 2019-08-31 10:13:28 浏览量 : 44

最近一段时间,国内各大网站纷纷用上了https连接,在访问这些网站的时候,很多浏览器会给予“特别关照”,给它们的链接旁边加上一个绿色的小锁,那么,什么是https,它与网络安全又有什么关系呢?某东,企鹅等公司已经很早就部署了。

一、升级HTTPS,我们可以分为购买证书、安装证书、设置跳转这三个步骤,下面我们开始讨论这三个详细的实现过程。

1、申请证书

证书类型分为三种类型:DV,OV和EV。这三种类型有什么区别?

dv(域名ssl):用于简单https加密要求的链接,如个人站点、iOS应用程序分发站点、登录等。

OV(企业型SSL):企业官网;

ev(enhanced ssl):企业公网、电子商务、互联网金融网站,安全性要求较强;

2、SSL证书的部署类型又分为了单域名、多域名、通配符等类型, 这里使用的是OV通配符证书,也就是一张证书可以保护网站下的所有二级子域名。您可以根据需要选择申请购买。

apache配置ssl证书

3、安装证书

购买证书后,您可以下载相应域名的证书文件。根据你Web服务器的不同种类一般证书也会分为多种,请根据自己的实际情况下载安装,一般的常见的Web服务器分为Nginx、Apache、Tomcat、IIS 6、IIS 7/8这几种,下面我们来看一下,证书下载完成后,如何在Centos的Apache web服务器上安装/配置SSL证书。


二、安装好Apache, 并且确认是否安装ssl模块,如果没安装的话,使用yum install mod_ssl openssl来安装ssl模块。

  之后,申请并下载SSL证书文件。通常来说有四个文件,分别是:证书文件ca.pem、证书私钥文件ca.key、证书公钥文件public.pem、证书链文件chain.pem

  ( 1 ) Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为ca.key

  ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
  #Include conf/extra/httpd-ssl.conf

       ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关) 在配置文件中查找以下配置语句:

  # 添加 SSL 协议支持协议,去掉不安全的协议
  SSLProtocol all -SSLv2 -SSLv3
  # 修改加密套件如下
  SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
  SSLHonorCipherOrder on
  # 证书公钥配置
  SSLCertificateFile cert/public.pem
  # 证书私钥配置
  SSLCertificateKeyFile cert/ca.key
  # 证书链配置,如果该属性开头有 '#'字符,请删除掉
  SSLCertificateChainFile cert/chain.pem

  ( 4 ) 设置虚拟主机

  如果要设置httphttps同时生效,那么需要为 http 在端口 80 上设立 VirtualHost,同时为 https 在端口 443 上作类似的设置。在端口 80 上的网站的 VirtualHost 例子如下

  <VirtualHost *:80>
  <Directory /var/www/vhosts/www.0543w.cn/httpdocs>
  AllowOverride All
  </Directory>
  DocumentRoot /var/www/vhosts/www.0543w.cn/httpdocs
  ServerName www.0543w.cn
  </VirtualHost>

在端口 443 上增加一个HTTPS网站,需要在文件加入如下内容

  NameVirtualHost *:443

  然后再加入一个类似如下的 VirtualHost 记录:

 
  <VirtualHost *:443>
  SSLEngine on
  SSLCertificateFile /etc/pki/tls/certs/ca.crt
  SSLCertificateKeyFile /etc/pki/tls/private/ca.key
  <Directory /var/www/vhosts/0543w.cn/httpsdocs>
  AllowOverride All
  </Directory>
  DocumentRoot /var/www/vhosts/0543w.cn/httpsdocs
  ServerName 0543w.cn
  </VirtualHost>

  最后,使用如下指令重新启动 Apache 即可实现网站的HTTPS功能。

  /etc/init.d/httpd restart


apache配置ssl证书,实现多个网站https

三、配置多个网站ssl证书,实现https访问

        1、前面的操作还是跟单个网站的一样,申请下相关证书来。

        2、修改配置文件

LoadModule ssl_module modules/mod_ssl.so
Listen 443
NameVirtualHost *:443
# 第一个虚拟主机
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName 0543w.cn
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/default/2_0543w.cn.crt
SSLCertificateKeyFile /etc/httpd/ssl/default/3_0543w.cn.key
SSLCertificateChainFile /etc/httpd/ssl/default/1_0543w.cn.crt
</VirtualHost>
#第二个虚拟主机
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName zp.0543w.cn
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/web/2_zp.0543w.cn.crt
SSLCertificateKeyFile /etc/httpd/ssl/web/3_zp.0543w.cn.key
SSLCertificateChainFile /etc/httpd/ssl/web/1_zp.0543w.cn.crt
</VirtualHost>

        3、重启web服务

[root@0543w]# service  httpd restartStopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
[root@0543w conf.d]#





标签:apache配置ssl证书,多网站https
相关新闻