二十七、cenos7,apache,实现https

最近在搞微信小程序啊,小程序说必须得用https啊,我的服务器也不是啊,怎么弄啊。

查一查吧,需要证书认证啊,谁能买起啊!


二十七、cenos7,apache,实现https_第1张图片

听说也有阿里云和腾讯云也有免费一年的啊,先来个免费的吧~


二十七、cenos7,apache,实现https_第2张图片

买完了开弄吧,

二十七、cenos7,apache,实现https_第3张图片

点下载,我的是apache,所以:


二十七、cenos7,apache,实现https_第4张图片

对了,我是由系统自动创建的证书,因为我自己不会创建啊!

看教程一共就5步,so easy~

1.在apache根目录下创建一个cert文件夹,然后把4个证书(解压后4个证书:.key,.pem,public.pem,chain.pem)放进cert里。

2.打开httpd.conf,然后把两句话的封印(注释)去掉,如上图。那么问题来了,我的conf里没有这两句话,尴尬不?但是人家括号里说了:如果找不到,确认是否编译过openssl插件。那我也没有,就是没编译过呗~ (这两句话其实就是多加载两个模块,一个是mod_ssl,另一个是httpd-ssl.conf或ssl.conf)

所以,除了openssl,还需要一个mod_ssl的模块。这两个安装直接搜教程有的是。

我是下载的openssl的压缩包,然后解压,再make,再make install的那种,mod_ssl是直接 yum install mod_ssl。

那么激动人心的时刻又来了,conf里还是没有那两句话啊,同时网上那么多教程也没有我这种情况啊,所以我得自己研究一下。

两句话,LoadModule和Include,根据我十多年的英语水平和五十多年开发经验,这肯定是从别的位置加载模块/文件啥的 的意思。看看我自己的conf:搜一下include:


二十七、cenos7,apache,实现https_第5张图片

Include conf.modules.d/*.conf  虽然我很傻,我也知道*应该是全部的意思。所以这句话是Include conf.modules.d文件夹里全部的conf文件。那我就去看一眼文件夹


二十七、cenos7,apache,实现https_第6张图片

打开,00-ssl-conf:


二十七、cenos7,apache,实现https_第7张图片

就一句话,但是满足了阿里云教程(2)中的一个条件!

这句话我翻译了就是 加载模块 ssl_module(名字) modules(文件夹) 里的 mod_ssl.so(文件)。所以我去这个文件夹里,确实看到了这个文件,好ok。

同样,Include还有这样一句话:


我再去conf.d文件夹下,可以看到ssl.conf文件,所以,这两个文件(mod_ssl.so和ssl.conf)都加载进来啦!下一步!

3.完全按照上面官方教程做就行了。

4.在httpd.conf里添加一个监听443端口的虚拟主机:


二十七、cenos7,apache,实现https_第8张图片

我是为了保持原来的http也能继续用,就没做强制定向什么的。

5.最关键的一步来啦!我折腾了好几遍都不知道为什么一直不成功!!别的教程到此早就结束啦,但是我为什么就是不行,反复试都不行,是,因,为:

在防火墙里,添加443端口!

捂脸)

6.重启服务器

7.试试吧


哎,太傻逼了,下期再见~

zml1024

你可能感兴趣的:(二十七、cenos7,apache,实现https)