最近在搞微信小程序啊,小程序说必须得用https啊,我的服务器也不是啊,怎么弄啊。
查一查吧,需要证书认证啊,谁能买起啊!
听说也有阿里云和腾讯云也有免费一年的啊,先来个免费的吧~
买完了开弄吧,
点下载,我的是apache,所以:
对了,我是由系统自动创建的证书,因为我自己不会创建啊!
看教程一共就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:
Include conf.modules.d/*.conf 虽然我很傻,我也知道*应该是全部的意思。所以这句话是Include conf.modules.d文件夹里全部的conf文件。那我就去看一眼文件夹
打开,00-ssl-conf:
、就一句话,但是满足了阿里云教程(2)中的一个条件!
这句话我翻译了就是 加载模块 ssl_module(名字) modules(文件夹) 里的 mod_ssl.so(文件)。所以我去这个文件夹里,确实看到了这个文件,好ok。
同样,Include还有这样一句话:
我再去conf.d文件夹下,可以看到ssl.conf文件,所以,这两个文件(mod_ssl.so和ssl.conf)都加载进来啦!下一步!
3.完全按照上面官方教程做就行了。
4.在httpd.conf里添加一个监听443端口的虚拟主机:
我是为了保持原来的http也能继续用,就没做强制定向什么的。
5.最关键的一步来啦!我折腾了好几遍都不知道为什么一直不成功!!别的教程到此早就结束啦,但是我为什么就是不行,反复试都不行,是,因,为:
在防火墙里,添加443端口!
捂脸)
6.重启服务器
7.试试吧
哎,太傻逼了,下期再见~
zml1024
网友评论