在Apache服务器上安装SSL证书
参考:链接
前提条件
1、您的Apache服务器上已经开启了443端口(HTTPS服务的默认端口)
// 开通443端口
firewall-cmd --zone=public --add-port=443/tcp --permanent // 重新加载
firewall-cmd --reload
2、您的Apache服务器上已安装了mode_ssl.so模块(启用SSL功能)
参考: 链接
// YUM方式安装mod_ssl.so模块
yum -y install mod_ssl
安装完之后/etc/httpd/conf.d目录下会出现一个ssl.conf文件:

3、本文档证书名称以domain name为示例,例如:证书文件名称为domain name_public.crt,证书链文件名称为domain name_chain.crt,证书密钥文件名称为domain name.key
4、申请证书时如果未选择系统自动创建CSR,证书下载压缩包中将不包含.key文件
操作步骤
1、解压已下载保存到本地的Apache证书文件。
解压后的文件夹中有3个文件:

- 证书文件:以.crt为后缀或文件类型。
- 证书链文件:以.crt为后缀或文件类型。
- 密钥文件:以.key为后缀或文件类型。
2、在Apache安装目录中新建cert目录,并将解压的Apache证书、证书链文件和密钥文件拷贝到cert目录中。如果需要安装多个证书,需在Apache目录中新建对应数量的cert目录,用于存放不同的证书 。
Apache安装默认目录:/etc/httpd

说明 :如果申请证书时选择了手动创建CSR文件,请将手动生成创建的密钥文件拷贝到cert目录中并命名为domain name.key。
3、修改httpd.conf配置文件。
在Apache安装目录下,打开conf/httpd.conf文件,并找到以下参数,按照下文中注释内容进行配置。
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。
#Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。
说明:如果您在httpd.conf文件中没有找到以上配置语句,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。
可执行 yum install -y mod_ssl命令安装mode_ssl模块。

保存httpd.conf文件并退出
4、修改httpd-ssl.conf配置文件。
- 打开conf/extra/httpd-ssl.conf文件并找到以下参数,按照下文中注释内容进行配置。
说明:根据操作系统的不同,http-ssl.conf文件也可能存放在conf.d/ssl.conf目录中。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。
SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。
</VirtualHost> #如果证书包含多个域名,复制以上参数,并将ServerName替换成第二个域名。
<VirtualHost *:443>
ServerName #修改为申请证书时绑定的第二个域名www.YourDomainName2.com。
DocumentRoot /data/www/hbappserver/public
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name2_public.crt # 将domain name2替换成您申请证书时的第二个域名。
SSLCertificateKeyFile cert/domain name2.key # 将domain name2替换成您申请证书时的第二个域名。
SSLCertificateChainFile cert/domain name2_chain.crt # 将domain name2替换成您申请证书时的第二个域名;证书链开头如果有#字符,请删除。
</VirtualHost>
说明:需注意您的浏览器版本是否支持SNI功能。如果不支持,多域名证书配置将无法生效。
保存ssl.conf文件并退出。
5、重启Apache服务器使SSL配置生效。
systemctl restart httpd
6、修改httpd.conf文件,设置HTTP请求自动跳转HTTPS。
在httpd.conf文件中的<VirtualHost *:80> </VirtualHost>中间,添加以下重定向代码。
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
后续操作
证书安装完成后,您可通过登录证书的绑定域名验证该证书是否安装成功。
https://证书绑定的域名
如果网页地址栏出现小锁标志,表示证书安装成功。

证书安装完成后,如果网站无法通过https正常访问,需确认您安装证书的服务器443端口是否已开启或被其他工具拦截。如果您使用的是阿里云ECS服务器,请前往ECS控制台安全组页面配置放行443端口。
补充
配置好SSL证书后网站还是不安全
原因:
1、SSL证书安装问题(这种情况会被绝大部分浏览器识别)
2、SSL证书到期(这种情况被大部分浏览器识别)
3、站内调用非HTTPS素材包括图文、CSS、js等素材(目前本屌丝常用的360浏览器、火狐浏览器、Chrome浏览器会识别)
在Apache服务器上安装SSL证书的更多相关文章
- Linux CentOS 7 在Apache服务器上安装SSL证书
在开发微信小程序的时候,wx.request请求的地址必须是https的,所以只能重新配置服务器. 域名和服务器都是在阿里云上买的,系统是CentOS7,安装了Apache服务器.网上也找了一下,很多 ...
- 极简】如何在服务器上安装SSL证书?
本文适合任何人了解,图形化操作.下面以腾讯云为例,并且服务器(linux)也安装了宝塔面板. 1.登陆腾讯云账号进入控制台,找到SSL的产品 2.按要求申请并填写表单,记住私钥密码 3.提交后,待腾讯 ...
- 在Nginx服务器上安装SSL证书
配置nginx 1.下载证书文件 2.在nginx的conf目录中创建目录cert目录,并将证书文件拷贝进去. 3.配置nginx.conf,完整的nginx.conf如下: #user nobody ...
- Linux+Apache下如何安装SSL证书
最近很多站长在问linux系统平台下如何安装SSL证书?Linux+Apache下如何安装SSL证书?本文整理了关于Linux+Apache下如何安装SSL证书的相关教程供大家参考,更多SSL证书安装 ...
- Linux+Apache环境下安装SSL证书
一.安装证书 (温馨提示:安装证书前请先备份您需要修改的服务器配置文件) 1.确认证书文件及证书路径. 例证书文件为:zzidc.com.jks,放置目录为Tomcat的conf目录下. 2.配置 ...
- Nginx上安装SSL证书
准备 参考 :链接 下载的Nginx证书压缩文件解压后包含: .pem:证书文件.PEM文件的扩展名为CRT格式. .key:证书密钥文件.申请证书时如果未选择自动创建CRS,则下载的证书文件压缩包中 ...
- 在阿里云IIS服务器上安装证书
在IIS服务器上安装证书 您可将下载的阿里云SSL证书安装到IIS服务器上,使您的IIS服务器支持HTTPS安全访问. 一.前提条件 申请证书时需要选择 系统自动创建CSR. 申请证书时如果选择手动创 ...
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动
MVC图片上传详解 MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...
随机推荐
- C++字符串转整形、浮点型stof()、atoi()、strtol()等
头文件:#include<stdlib.h>string str;stof:float val=stof(str);atoi:int val=atoi(str);atol:long val ...
- The Definitive Guide to Ruby's C API The Ruby C API Running Ruby in C Running C in Ruby
最近在研究如何在C/C++中 嵌入ruby脚本,很感谢找到了一篇文章,分享一下. The Definitive Guide to Ruby's C API
- Jira 和 Confluence 企业最佳部署方式
在Atlassian,我们为客户提供不同的方式来部署 Atlassian 产品:可以部署在由 Altassian 管理的云端(Cloud)上,也可以部署在客户自己选择的服务器(Server)或数据中心 ...
- 第一个Mybatis
第一个Mybatis 思路:搭建环境-->导入Mybatis-->编写代码-->测试 1.搭建环境 新建maven工程,配置xml文件 <?xml version=" ...
- hiho一下第零周(题目1 : A + B)
#include<iostream> using namespace std; int main() { int a,b; while(cin>>a>>b) cou ...
- 测量定位实践-:C#采集控制
用Halcon已经完成采集,在在C#中不行. 其实还是比较简单,主要是Halcon封装的太好了. 主要是以下几个算子: *打开 Image Acquisitionopen_framegrabber ( ...
- Devops与敏捷二者能否结合?
当前软件行业的趋势倾向于使应用程序开发和部署成为业务运营的重要组成部分.这些公司开始专注于实现像DevOps解决方案这样的方法,这有助于缩短产品开发时间.使用DevOps进行开发减少了交付软件所需的阶 ...
- Robot Framework(4)——Selenium2Library关键字
在第一讲的时候,已经安装了Selenium2Library这个库,这一篇主要来整理介绍一下Selenium2Library中的常用关键字,为我们之后的web自动化打好基础 一.browserManag ...
- ajax请求默认都是异步请求,怎么变为同步请求
Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.PHP", as ...
- Apache 软件基金会顶级项目 Pulsar 达成新里程碑:全球贡献者超 300 位!
各位 Pulsar 社区小伙伴们: 今天我们高兴地宣布Pulsar 达成新里程碑,全球贡献者超 300 位! 距离 Pulsar 实现 200 位贡献者里程碑,仅仅间隔 8 个月! 作为 Apache ...