Apache配置https知识


Apache配置https知识

文章插图

Apache配置https
之前一直用的是Tomcat , 今天突然接到任务要给Apache配置https证书 , 因为小程序要用 。下面把过程列出来以备后续查看 。
1.首先你得有ssl证书 , 没有的可以去购买 , 买完之后下载证书 , 建议选择适配Apache的文件下载 。我的下载下来的文件是一个压缩文件 , 解压后截图如下:
 

Apache配置https知识

文章插图
 
 
这三个文件分别是:
一个以.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 onSSLCertificateFile 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_ssl2.命令执行结束安装完成后 /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 ExecCGIAllowOverride AllOrder allow,denyAllow from allRequire 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.conf10.至此 , 配置完成 , 重启Apache然后访问你的域名就好了 。
原文:https://www.cnblogs.com/jungeJAVA/p/11200631.html

【Apache配置https知识】


    推荐阅读