在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++使用邻接表实现图
定义邻接表存储的图类.[实验要求] (1)创建一个邻接表存储的图:(2)返回图中指定边的权值:(3)插入操作:向图中插入一个顶点,插入一条边:(4)删除操作:从图中删除一个顶点,删除一条边:(5)图的 ...
- 提前批笔试一道算法题的Java实现
题目描述 这是2021广联达校招提前批笔试算法题之一. 我们希望一个序列中的元素是各不相同的,但是理想和显示往往是有差距的.现在给出一个序列A,其中难免有相同的元素,现在提供了一种变化方式,使得经过若 ...
- elementUI 表单清空问题
在使用表单的清空方法时,我们需要注意几个问题: 1.我们需要为每个form-item加上prop属性,要不然无法清空(大部分的问题就是出在这) 2.resetFields()方法是重置表单,重置为默认 ...
- MySQL服务操作
启动: systemctl start mysqld.service; 状态: systemctl status mysqld.service; 重启: systemctl restart mysql ...
- node mssql 无法连接sql server
mssql无法连接sql server主要有两种原因: Sql server使用的是Windows身份验证 Sql server并没有打开网络连接功能 1.打开Sql Server身份验证 参考这篇文 ...
- CSS动画实例:Loading加载动画效果(一)
一些网站或者APP在加载新东西的时候,往往会给出一个好看有趣的Loading图,大部分的Loading样式都可以使用CSS3制作出来,它不仅比直接使用gif图简单方便,还能节省加载时间和空间.下面介绍 ...
- 【Floyd】珍珠
[题目描述] 有n颗形状和大小都一致的珍珠,它们的重量都不相同.n为整数,所有的珍珠从1到n编号.你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位.下面 ...
- python3 - 常用的操作数据库
# 获取手机号数据表的中的数据 sql2 = 'SELECT shoujihao FROM shoujihao' self.cursor.execute(sql2) sjh_dates = self. ...
- Spark基础学习精髓——第一篇
Spark基础学习精髓 1 Spark与大数据 1.1 大数据基础 1.1.1 大数据特点 存储空间大 数据量大 计算量大 1.1.2 大数据开发通用步骤及其对应的技术 大数据采集->大数据预处 ...
- unity探索者之UGUI圆形图片组件
版权声明:本文为原创文章,转载请声明https://www.cnblogs.com/unityExplorer/p/13524824.html 使用UGUI进行游戏开发的过程中经常会遇到一个问题:玩家 ...