Apache配置https

之前一直用的是Tomcat,今天突然接到任务要给Apache配置https证书,因为小程序要用。下面把过程列出来以备后续查看。

1.首先你得有ssl证书,没有的可以去购买,买完之后下载证书,建议选择适配Apache的文件下载。我的下载下来的文件是一个压缩文件,解压后截图如下:

这三个文件分别是:

  一个以.key结尾的文件(秘钥文件)

  两个以.crt结尾的文件(xxxxx_chain.crt是证书链文件,xxxxx_public.crt是证书文件)

2.在Apache的目录下新建一个文件夹,名称随意。然后将这三个文件放到这个文件夹里面。我这边的文件夹名字是cert。

3.在Apache安装目录下,打开Apache/conf/httpd.conf,在httpd.conf文件中找到以下参数并进行配置。

#LoadModule ssl_module modules/mod_ssl.so  #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。如果找不到该配置,请重新编译mod_ssl模块。
#Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。

如果找不到上面的参数请在文章后面看解决办法。

4.保存httpd.conf文件并退出。

5.打开Apache/conf/extra/httpd-ssl.conf,在httpd-ssl.conf文件中找到以下参数并进行配置。 证书路径建议使用绝对路径。

SSLProtocol all -SSLv2 -SSLv3  # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 使用此加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name_public.crt # 将domain name_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain name.key # 将domain name.key替换成您证书的秘钥文件名。
SSLCertificateChainFile cert/domain name_chain.crt # 将domain name_chain.crt替换成您证书的秘钥文件名;证书链开头如果有#字符,请删除。

6.保存 httpd-ssl.conf 文件配置并退出。

7.重启Apache服务器使SSL配置生效。

------------------------------------------------------

这里说一下上面第3步找不到那些参数的解决办法:

1.找不到那些参数,可能是Apache没有安装mod_ssl.so模块,我这里用yum方式安装。在任意路径下执行下面的命令:

yum -y install mod_ssl

2.命令执行结束安装完成后 /etc/httpd/conf.d 目录下会出现一个ssl.conf文件

3.在这个文件里面找到如下内容进行更改

SSLCertificateFile xxx_public.crt

SSLCertificateKeyFile xxx.key

SSLCertificateChainFile xxx_chain.crt

4.找到上面的三个内容并将后面的文件路径替换为你自己的文件路径,(这些文件就是你之前放在Apache/cert路径下的三个证书文件且路径是绝对路径)

5.然后继续在此文件中配置找到以下内容配置443站点信息(这里只说明内容,按照内容直接改就可以)

DocumentRoot "/home/test/file/" #(引号里面是你的项目的路径)
ServerName xxxxx (这里的xxxxx是你的域名) <Directory "/home/test/file/"> #(引号里面是你的项目的路径,其他的直接复制过去即可)
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>

6.然后这个文件就编辑完了。

7.在找到Apache/conf/httpd.conf文件并打开。

8.找到#LoadModule ssl_module modules/mod_ssl.so 并将前面的#号去掉。

9.在此文件的最后引入之前配置好的文件。例如:

#引入外部的ssl配置文件
Include /etc/httpd/conf.d/ssl.conf

10.至此,配置完成,重启Apache然后访问你的域名就好了。如果有不合适的地方还请各位大佬说出来。

----------------------------- end -----------------------------

Apache配置https的更多相关文章

  1. Apache配置HTTPS功能

    apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...

  2. Windows上为Apache配置HTTPS

    Windows上为Apache配置HTTPS   转 https://www.cnblogs.com/tianzijiaozi/p/7582671.html   1. 安装OpenSSL: Windo ...

  3. Linux下Apache配置HTTPS功能

    Apache配置HTTPS功能  转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...

  4. 在linux下的apache配置https协议,开启ssl连接

    环境:linux 配置https协议,需要2大步骤: 一.生成服务器证书 1.安装openssl软件 yum install -y openssl mod_ssl 2.生成服务器私匙,生成server ...

  5. apache 配置https(转)

    主要讲述在windows下apache配置SSL以实现http转换为https SSL: SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.也就是说在SSL下 ...

  6. lamp之apache配置https访问

    配置apache 使用https 注:怕其他人由于路径的原因出问题,首先声明一下,本人apache的安装目录为 : /usr/local/httpd2.4.25,如果不是,请参考进行配置 注: 对于如 ...

  7. Linux Apache配置https访问

    配置https访问 该环境是rh254课程配套的一个环境,不过配置方法步骤相同. 要求: 使用虚拟主机技术部署两个网站: 网站1: 绑定域名 www0.example.com 目录在 /srv/www ...

  8. Apache 配置Https 转发Tomcat Http

    Apache 相对于nginx的配置对比起来相当复杂啦,朋友之前的系统使用的是Apache需要增加一个虚拟主机,主要配置从Apache转发Tomcat. 首先需要拆解下步骤: Apache 支持Htt ...

  9. apache配置https协议

    安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装openss 方法一:直接使用openssl安装包 W ...

随机推荐

  1. Java并发专题

    ——参考于码农求职小助手公众号 1.并行和并发有什么区别? 1. 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生: 2. 并行是在不同实体上的多个事件,并发是在同一 ...

  2. The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

    介绍 再使用spring操作mysql数据库报错 @Test public void test() { try { //创建连接池,先使用spring框架内置的连接池 DriverManagerDat ...

  3. Cesium专栏-气象卫星云图动图(附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  4. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之三:安装Windows活动目录域服务

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  5. Python入门基础学习(模块,包)

    Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...

  6. Winclone 8 Mac增强汉化版 Windows分区备份迁移工具 8.0.1

    winclone 8 for Mac版是一款系统清理工具winclone的Mac平台版本,winclone Mac版可以将Bootcamp分区安装的windows进行克隆也可将克隆文件传回Bootca ...

  7. R基础绘图

    本节内容 0:小知识 1:绘图系统散点图的特征 2:基础绘图函数 3:基础绘图参数 4:图形设备 5:案例操作5个图形 0:小知识 summary() ## 对数据框或者向量进行描述性数据 read. ...

  8. 数组中的第K个最大元素

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2输出: 5示 ...

  9. oracle xmltype + blob + clob

    oracle varchar2最大存储长度为4000,所以当字段长度超限时可尝试存储为blob或xmltype格式 xmltype --1.创建xml表 Create TABLE testxml( i ...

  10. Java编译器的2点优化

    优化1 对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char). 如果没有超过左侧的范围 ...