Warning: ftp_fget() expects parameter 1 to be resource, null given in /www/wwwroot/new.weijing.co/wp-admin/includes/class-wp-filesystem-ftpext.php on line 146

网站SSL证书

1 SSL证书介绍

1.1 SSL证书说明

SSL 证书(SSL Certificates)遵守SSL协议,由受信任的数字证书颁发机构CA颁发,主要用来提供对用户和服务器的认证,在基于HTTP访问的Web网站基础上加入SSL(Secure socket layer),由HTTPS通过传输加密和身份认证保证了传输过程的安全性。
    2014年Google调整了搜索引擎算法,比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名更靠前。并且从 2017 年开始,Chrome 浏览器已把采用 HTTP 协议的网站标记为不安全网站,苹果 App Store 中的所有应用也都必须使用 HTTPS 加密连接;微信小程序也要求必须使用 HTTPS 协议;新一代的 HTTP/2 协议的支持需以 HTTPS 为基础。现已成为网络领域中全球化的标准。

1.2 SSL证书类型

SSL证书需要向国际公认的证书证书认证机构(简称CA,Certificate Authority)申请。SSL证书分为域名型SSL证书(DV SSL)、企业型SSL证书(OV SSL)、增强型SSL证书(EV SSL)三种类型。

数字证书 信任等级 认证强度 适用网站类型
DV SSL 普通 验证网站的真实性便可颁发证书 个企、APP
OV SSL 强 须审验证企业身份 政府组织、企业
EV SSL 最高 审核严格,激活绿色地址栏 金融机构

1.3 启用SSL证书优势

1.3.1 防流量劫持

启用SSL证书,通过HTTPS协议访问网站,用户访问网站的数据实现加密访问,实现交互的数据的安全,防止流量劫持、防止数据篡改、防止监听。

1.3.2 提升搜索排名

采用 HTTPS加密的网站,通过google、百度等搜索引擎显示的结果排名更高,可提升搜索排名和网站的可信度。

1.3.3 杜绝钓鱼网站

使用SSL证书可以强化网站的可信程度,使用户安全的访问网站,增强用户信任。

1.4 CA厂商

目前常用的CA厂商有Symante、GeoTrust、TrustAsia、Let\’s Encrypt、GMO GlobalSign、CFCA。

1.4.1 Symantec

Symantec 是全球最大的信息安全服务提供商, 其颁发的证书能被所有浏览器支持与信任,可确保用户访问时浏览器给予正确的网页安全提示,为全球一百多万台网络服务器提供安全防护。该品牌证书由工信部许可设立的电子认证服务机构“天威诚信”提供鉴证服务。

1.4.2 GeoTrus

GeoTrust 是全球第二大数字证书提供商,也是身份认证和信任认证领域的领导者,该公司各种先进的技术使得任何大小的机构和公司都能安全、低成本地部署 SSL 数字证书和实现各种身份认证。目前已被Symantec收购。

1.4.3 GMO GlobalSign

GMO GlobalSign是全球最早的数字证书认证机构之一,是一个备受信赖的 CA 中心和 SSL 数字证书提供商,在全球总计颁发超过 2000 万张数字证书;其专业实力获得中国市场众多服务器、域名注册商、系统服务供应商的青睐,成为其数字证书服务的合作伙伴。

1.4.4 TrustAsia®

TrustAsia®(亚洲诚信)是亚数信息科技(上海)有限公司应用于信息安全领域的品牌, 专业为企业提供包含数字证书在内的所有网络安全服务,是Symantec™(赛门铁克)的白金合作伙伴

1.4.5 Let\’s Encrypt

Let\’s Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS。

2 SSL安装配置

2.1 申请免费SSL证书

SSL证书可到各云厂商免费申请。

2.2 SSL证书文件说明

SSL证书服务支持Apache、Nginx、Tomcat、IIS等,申请成功后方可将下载证书并安装到对应的服务器中。

下载的证书下载主要有以下文件:

  1. .key文件是证书私钥文件,如果申请证书时没有选择系统创建CSR,则没有该文件。
  2. .crt文件是证书文件,一般包含两段内容。如果是Apache服务器,会将证书文件拆分成 _public.crt(证书文件)和_chain.crt(证书链或中间证书文件)。
  3. .pem文件是证书文件。

说明:.crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。

.pfx文件,一般适合Tomcat/IIS服务器。每次下载或更新都会产生新密码,该密码仅匹配本次下载的证书。

CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。

2.3 Apache部署SSL证书

2.3.1 环境准备

  • 下载Apache服务器证书
  • 安装Open SSL

2.3.2 安装部署

  • 创建ssl目录
 mkdir /etc/httpd/ssl 
  • 复制证书文件到SSL目录中
 cp *bundle.crt /etc/httpd/ssl
 cp *.crt /etc/httpd/ssl
 cp *.key /etc/httpd/ssl 
  • 安装 mod_ssl.so 模块
 yum install mod_ssl 

  • http.conf修改加载配置 SSL 的配置目录
 vi /etc/httpd/conf/httpd.conf
 Include conf.modules.d/*.conf #取掉注释符号(#) 
  • 配置SSL模块
 yum install mod_ssl
 vi /etc/httpd/conf.modules.d/00-ssl.conf
 LoadModule ssl_module modules/mod_ssl.so 去掉注释符号(#)
 编辑 /etc/httpd/conf.d/ssl.conf 配置文件。修改如下内容:
 <VirtualHost 0.0.0.0:443>
      DocumentRoot \"/var/www/html\"
      #填写证书名称
      ServerName www.weijing.co
      #启用 SSL 功能
      SSLEngine on
      #证书文件的路径
      SSLCertificateFile /etc/httpd/ssl/2_www.weijing.co.crt
   #私钥文件的路径
      SSLCertificateKeyFile /etc/httpd/ssl/3_www.weijing.co.key
      #证书链文件的路径
      SSLCertificateChainFile /etc/httpd/ssl/1_root_bundle.crt
 </VirtualHost> 
  • 自动跳转HTTPS

通过以下配置,将HTTP请求自动重定向到HTTPS,增加以下内容:

 Vi httpd.conf
 LoadModule rewrite_module modules/mod_rewrite.so
 <Directory \"/var/www/html\">
 # 新增
 RewriteEngine on
 RewriteCond %{SERVER_PORT} !^443$
 RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
 </Directory> 

如果不存在可添加文件

echo ‘LoadModule rewrite_module modules/mod_rewrite.so’ >> /etc/httpd/conf.modules.d/00-rewrite.conf 
  • 重启Apache服务

通过浏览器https://www.weijing.co进行访问。

2.4 Nginx部署SSL证书

2.4.1 环境准备

  • 下载SSL证书并上传到Nginx服务器中
  • Nginx SSL的文件
 证书文件:.pem
 秘钥文件:.key 

2.4.2 安装部署

  • 创建cert目录
 mkdir /usr/local/nginx/conf/cert
 cp weijing.co.pem /usr/local/nginx/conf/cert
 cp weijing.co.key /usr/local/nginx/conf/cert 
  • 修改nginx.conf
 server {
      #SSL 访问端口号为 443
      listen 443 ssl;
      #填写绑定证书的域名
      server_name www.weijing.co;
      #证书文件名称
      ssl_certificate cert/www.weijing.co_bundle.crt;
      #私钥文件名称
      ssl_certificate_key cert/www.weijing.co.key;
      ssl_session_timeout 5m;
      #请按照以下协议配置
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
      ssl_prefer_server_ciphers on;
      location / {
         #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
          root /var/www/www.weijing.co
          index  index.html index.htm;
      }
  } 
  • 自动跳转HTTPS

配置nginx.conf,将HTTP请求自动重定向到HTTPS,增加以下内容:

 server {
 listen 443 ssl;
 #填写绑定证书的域名
 server_name www.weijing.co;
 #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
 root /var/www/www.weijing.co;
 index index.html index.htm;  
 #证书文件名称
 ssl_certificate  cert/www.weijing.co_bundle.crt;
 #私钥文件名称
 ssl_certificate_key cert/www.weijing.co.key;
 ssl_session_timeout 5m;
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 location / {
    index index.html index.htm;
 }
 }
 server {
 listen 80;
 #填写绑定证书的域名
 server_name www.domain.com;
 #把http的域名请求转成https
 return 301 https://$host$request_uri;
 } 
  • 重启Nginx服务
nginx -s stop
nginx -s start
  • 通过浏览器访问https://www.weijing.co。

2.5 Tomcat部署SSL证书

2.5.1 环境准备

  • 下载SSL证书并上传到Tomcat服务器中
  • Tomcat SSL的文件
 www.weijing.co.jks 密钥库
 cart_password.txt 密码文件 

说明 如果是PFX格式证书,可通过以下命令将PFX格式证书转化成JKS格式。

 keytool -importkeystore -srckeystore weijing.co.pfx -destkeystore weijing.co.jks -srcstoretype PKCS12 -deststoretype JKS 

2.5.2 安装部署

  • 配置SSL证书
 vi tomcat/conf/server.xml
 <Connector port=\"443\" protocol=\"HTTP/1.1\" SSLEnabled=\"true\"
 maxThreads=\"150\" scheme=\"https\" secure=\"true\"
 #证书保存的路径
 keystoreFile=\"/usr/*/conf/www.weijing.co.jks\"
 #密钥库密码
 keystorePass=\"******\"
 clientAuth=\"false\"/> 

配置文件的主要参数说明如下:

 keystoreFile:密钥库文件的存放位置.。
 keystorePass:密钥库密码。
 clientAuth: true表示Tomcat对 SSL 客户进行身份验证。 
  • 自动跳转HTTPS

通过以下配置,将HTTP请求自动重定向到HTTPS,增加以下内容:

编辑 tomcat/conf/web.xml 文件,在</welcome-file-list> 下面换行,并添加以下内容:

 <login-config>
  <!-- Authorization setting for SSL -->
  <auth-method>CLIENT-CERT</auth-method>
  <realm-name>Client Cert Users-only Area</realm-name>
  </login-config>
  <security-constraint>
  <!-- Authorization setting for SSL -->
  <web-resource-collection>
  <web-resource-name>SSL</web-resource-name>
  <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
  <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
  </security-constraint> 
  • 修改server.xml配置文件,将redirectPort端口8443修改为443端口
 <Connector port=\"80\" protocol=\"HTTP/1.1\"
 connectionTimeout=\"20000\"
 redirectPort=\"443\" /> 
  • 重启服务
 ./shutdown.sh 
 ./startup.sh   
  • 通过浏览器访问https://www.weijing.co。

2.6 IIS部署SSL证书

2.6.1 环境准备

  • 下载SSL证书并上传到Nginx服务器中
  • Nginx SSL的文件

证书文件:.pfx

秘钥文件:.txt

2.6.2 安装部署

  1. 打开 IIS 服务管理器,选择计算机名称,双击左侧栏中的“服务器证书”。
  2. 在“服务器证书”窗口的右侧 “操作” 栏中,选择“导入”。
  3.  在“导入证书” 窗口选择证书文件存放路径,输入密码后“确定”。
  4. 选中网站下的站点名称,选择右侧 “编辑网站”-“绑定”。
  5. 在“网站绑定”选择“添加”。
  6. “添加网站绑定”中,类型选择:https,端口:443,主机名为当前申请证书的域名,并选择指定对应的 SSL 证书,“确定”保存。
  • 自动跳转HTTPS
  • 选择站点名称,选择“URL重写”à“操作”à“添加规则”
  • “添加规则”à “空白规则”à “确定”
  • “编辑入站规则”修改如下内容:

名称:强制 HTTPS。

匹配URL:在 “模式” 中输入:(.*)。

条件:“添加” à 条件输入:{HTTPS} à “类型”:“与模式匹配” à 模式:手动输入^OFF$。

操作:操作类型:重定向 à 重定向 URL:https://{HTTP_HOST}/{R:1} à重定向类型:选择参阅其他(303)。

  • “管理网站”–> 重新启动

2.7 总结

企业网站启用通过CA颁发的SSL证书,帮助企业客户通过HTTPS浏览网站 ,保护企业网站防止流量劫持、提升企业网站的搜索排名,增加企业曝光率。杜绝钓鱼网站,增加企业可信度,为客户赢得客户信任。

发表评论

您的电子邮箱地址不会被公开。

Shopping Cart