在前一篇文章中,我给小伙伴们先容了 OpenLiteSpeed (以下简称 OLS ) 的根本安装以及利用方法,大略易上手,基本上不用手动编辑配置文件。
参考文章:《用 Laravel 吗,从 Nginx 切换到 OpenLiteSpeed 的那种》
链接:https://www.sysadm.cc/index.php/webxuexi/810-give-up-nginx-then-using-laravel-with-openlitespeed

看过之前的这篇文章,就算是小白也可以轻松入门(我便是这么入门的)。
不过文章末了我们留了一个扣,便是如何才能让 OLS 支持 SSL 的问题,现在还果奔 http 的该当不多见了吧?
网络传输涉及到安全问题,以是现在绝大部分网站的网址都冠以 https 。
有了 https 加持,你就会看到网址前多了一把小锁,也就解释连接是安全的。
OLS 官网的知识库中的确有干系设置 SSL 的内容,但彷佛又太过于简单,须要重点解释的却一笔带过。
官网知识库链接:https://openlitespeed.org/kb/ssl-setup/
本着为公民做事的宗旨,发挥一不怕去世、二不怕苦的老一辈的奋斗精神,我按照知识库文章中的先容,初步实现了在监听器上支持 SSL 的目标。
这里事先解释一下,由于像 Let's Encrypt 之类的互联网证书如何设定的教程网上有大把,以是本文仅仅拿如何导入自署名证书来做演示。
只不过之后在虚拟主机的设定上又碰着了一个坑,摧残浪费蹂躏了不少韶光。
详细是什么坑呢,请听我逐步道来。
一、安装 OpenSSL工具
工欲善其事,必先利其器。
天生我们所需的密钥和证书文件,常日会用到 OpenSSL 这款神器。
在这儿我准备给小伙伴们先容一下 OpenSSL for Windows 。
手头上没有 Linux 的小伙伴们不用急,这个是可以在 Windows 下利用的哦!
OpenSSL 是在 Linux 下常常被利用的常用于通讯加密的开源加密软件,但起先在 Windows 下彷佛并没有它的身影。
还好总有些爱好者,他们组织在一起开拓了 OpenSSL for Windows ,终于在 Windows 下我们也可以用上 OpenSSL 了。
不过吧其网站有点怪怪的,不知道为啥它并不是 https 开头的。
产品链接页面:http://slproweb.com/products/Win32OpenSSL.html
打开产品链接,你可以找到最新版本的 OpenSSL for Windows 下载,分为轻量版和32/64位版。
一样平常轻量版的就够用了,我选择了最靠前的一个。
备用下载:Win64OpenSSL_Light-1_1_1j.exe (3.54M)
下载链接:https://www.90pan.com/b2354310
提取码:<链接失落效,如须要请留言>
下载完成后开始安装,最初它会提示你系统中没有安装 Microsoft Visual C++ 2017 Redistributables 。
如果你点是,它会帮你下载,但只有上帝才知道它什么时候能下载完,微软的速率你懂的。
以是我找到了以前安装 WampServer 时用到的组件包,个中就有这个版本的组件。
当然,OpenSSL 是64位的自然所需64位的组件,不过我这32位的也有,就打包放一起吧。
备用下载:Visual C++ Redistributable Packages for Visual Studio 2017.7z (19.6M)
下载链接:https://www.90pan.com/b2354295
提取码:<链接失落效,如须要请留言>
装完组件,连续安装 OpenSSL for Windows 。
中间有讯问你将动态链接库放在哪儿得当的提问,你假如无所谓那就默认放在 Windows 系统文件夹中,假如有强制症,那就选择和实行文件放一起,实在都可以正常利用。
正像安装进程末了那幅画面提示的那样,爱好者组织看上去非常渴望被捐助。
这也可以从前面那张协议窗口的文本中窥见一斑,爱好者组织对白嫖者虽说不上痛恨,但却抱着嗤之以鼻的态度。
在此也顺便呼吁一下小伙伴们,如果你的确从中受益,即便不予以金钱,但也请表达一下你的支持,比如关注、点赞、分享、外加在看,顺手也关注一把@网管小贾,哈哈。
好了,我们完成安装后,建议大家最好将 OpenSSL 的实行目录加到系统路径中。
这样我们就可以开始创建 SSL 证书了。
二、天生用于 HTTPS的密钥和证书文件此处用最最最大略的方法来实现,一共三步三条命令来天生自署名证书。
为了便于今后整理和识别,我们以域名为文件名来区分不同的主机。
比如域名为 sysadm.local,则可以按以下办法天生私钥和证书。
1、天生私钥文件,以 key为后缀。
# openssl genrsa -out sysadm.local.key 2048
2、以密钥为根本,天生证书要求,以 csr为后缀。
# openssl req -new -key sysadm.local.key -out sysadm.local.csr
命令实行后的交互内容实在可以任意填写,但有一个地方必须要填写精确,那便是通用名称,一样平常来讲该当是主机的域名。
3、有私钥,有要求,那么就可以据此生成相应的证书了,以 crt为后缀。# openssl x509 -req -days 3650 -in sysadm.local.csr -signkey sysadm.local.key -out sysadm.local.crt
好了,一共天生三个文件,除了要求文件是用于天生证书的过渡文件外,其他两个文件等会儿就要用到了。
sysadm.local.key 私钥(备用)sysadm.local.csr 要求(不用)sysadm.local.crt 证书(备用)三、给监听器设定证书,开启 SSL找到监听器,在列表中点击监听器名称。
点击右侧编辑按钮,将端口修正成 443 ,加密连接修正成 是 。
在 SSL 选项卡中指定私钥和证书路径。
四、映射虚拟主机并测试效果我们假定这里有两台虚拟主机,并分别对应两个不同的域名。
至于如何建立虚拟主机,小伙伴们可以参考之前我写的文章。
一号虚拟主机:www1.sysadm.local二号虚拟主机:www2.sysadm.local新建好虚拟主机并映射到监听器后,我们就可以开始测试前面设定 SSL 的效果了。
打开浏览器(比如我这用的火狐),输入虚拟主机域名访问,比如:
https://www1.sysadm.local
可以看到网站的确可以访问,只不过那把小锁带了个感叹号。
实在正是由于我们利用的是自署名证书,以是才会有感叹号提示,不过并不影响实际利用。
点击图中那个不屈安连接右边的箭头来查看详细情形,可以看到证书的验证者是 SYSADM.CC 。
统统彷佛都挺顺利哈,不过当你打开第二个虚拟主机站点时,你会创造它的证书信息中的验证者也同样是 SYSADM.CC 。
这两个站点的信息都一样,都是由同一个 SSL 证书供应的加密保护,这有什么好奇怪的吗?
这种情形的确是由于 SSL 证书设定在监听器级别上,以是多个虚拟主机可共用一个证书。
但是,小伙伴们有没有想过,如果是多个虚拟主机,并且它们分别属于不同的组织、不同的站长或不同的域名,那么有可能利用不同的证书吗?
答案是,当然有可能,要不天底下就一个证书,大家都来用不就乱套了。
可是根据 OLS 官网知识库的解释内容,我却无法正常实现以虚拟主机为单位分别给其设定 SSL 证书。
怎么回事?原来这里有个坑!
五、设定虚拟主机级别的 SSL证书
我删除了监听器上的证书路径,并按官网解释在虚拟主机的 SSL 选项卡上指定了证书路径。
但是被现实结果啪啪打脸,无论我怎么刷新都无法正常加载网页。
调试了N个小时,愣是找不着北,什么鬼,到底问题出在哪儿了呢?
遇事未定问网络,我搜!
没成想就在 OLS 的官方论坛里找到了版主这么一段奇妙的笔墨。
试着将鸟语翻译过来,大概是这么个意思。
意思是你得先在监听器那儿设定好证书,然后再在虚拟主机上设定证书。
由于虚拟主机级别设定会覆盖监听器级别的设定,之后访问详细站点时,它会自动跳过监听器证书而读取虚拟主机证书。
哦?真的是这样吗?
我按前面先容的天生证书的步骤,分别为两台虚拟主机天生了各自的私钥和证书文件。
个中,三个步骤中的第二步,我特意将组织名称区分开来。
www1.sysadm.local 对应 AAAAAAAAwww2.sysadm.local 对应 BBBBBBBB然后,把稳这里是重点。
首先,将监听器设定好主证书,实在便是按一开始前面所说的做,确保监听器级别下可以通过 HTTPS 访问。
其次,再到各个虚拟主机的 SSL 选项卡中设定各自的子证书。
这些虚拟主机级别的子证书的制作方法和前面的都是一样的,便是那三个步骤,只是为了各自区分,把稳域名填写就行了。
OK,全部设定好后别忘却平滑重启。
再来检讨一下两个站点的证书信息,这回终于各归各家了。
末了总结终极我是花了大概两天韶光,初步将 OLS 加装了自署名证书,实现了 SSL 加密通讯访问的效果。
利用自署名证书虽然会有警告提示,但常日在局域网内部利用问题不大,有时也用于测试环境,最最主要的是,它不要钱啊。
其余,还在依赖 Windows 下的诸如 WAMP 之类的集成环境的小伙伴们,OLS 作为 WEB 测试环境中的一个比较好的选择,如果你也利用 Linux 那么完备可以考虑上手。
毕竟像 Laravel 之类的框架官方是不太建议在 Windows 下调试开拓的。
说到调试开拓,那么多的 PHP 版本可以同时事情、来回切换吗?
有机会的话,我会再探究一下 OLS 的 PHP 多版本的安装与切换。
末了的末了,希望小伙伴们表达一下爱心,关注@网管小贾,给走一波点赞、分享和在看吧!
感谢你们哦!
网管小贾 / sysadm.cc