关于解决本站“不安全”角标的那些事
这里是某 铸币 作者 LXR 与陈年 bug 斗智斗勇的一条总结 绝对不是 BUG 忘记了之类的 。
# 故事开端
LXR 是在步入大学的第二年才开始配置自己的小博客的,俗话说的好, 故事的开始总是极具温柔 万事开头难,某人忙活了一个多月总算是给网站好了,不能说有多好,只能说是 光鲜亮丽 初具人型。
后来在后续进行了一系列 猛男 风格美化之后,网站中于是看起来丰富了许多,于是就陆陆续续的开始写一些小文章( 虽然没什么人看 )。
# 我们的初见
就在 LXR 初步完成博客的建设并开始兴奋的与大家互换友链的时候,LXR 发现了一个问题:
“为什么我的网址前面总是会提示不安全?”
刚开始因为课业不少 + 每天还有其他事情比如各种的培训、学习、活动 、打游戏 之类的事情,所以一直没时间管。于是一直安慰自己说:” 没事的只是一个角标,浏览的时候又看不见,眼不见心不烦 “。
等后来 LXR 没那么忙了之后,她越看越觉得这个 “不安全” 标识很刺眼 也是被某学姐吐槽说怎么你的博客还顶了个不安全标识,速速去修一下 。
于是 LXR 开始寻找问题的根本原因。
# 第一次着手解决
LXR 在越看越不顺眼的情况下,查阅了一些资料并在服务器控制台,发现可能是证书过期导致的 后来想了下最开始的时候他就存在的话,其实是跟证书过期没直接关系的,铸币 LXR ,于是她决定部署一下免费 SSL 证书(这东西一年 20 张,到期记得换就行)。
就当 LXR 按部就班的购买证书、配置并签发证书、下载证书之后,她发现了一个至关重要的问题:
“tnd 我证书存放路径我给设置哪去了?”
这里就不得不说一句 “铸币 LXR” 了。因为 LXR 最开始配置的时候是自己配置 中间卡住了就请教学姐版 的,所以有一些配置并没有沿用自带的默认配置,就导致 铸币 LXR 忘记了自己的 nginx 下存放 ssl 整数的路径是哪里,同时也没找到 nginx 配置文件放哪里了 因为 nginx 安装目录和可执行文件目录也是自定义的,全搞忘了 ,于是在经历了一系列找寻和尝试之后最后还是暂时搁置了 (确实是找了好久没找到 and 又忙起来了所以选择暂时搁置下来 攫夺不是因为 LXR 懒 )。
# 第二次见面并解决一部分
时光荏苒岁月如梭 总之就是 LXR 懒了很久之后 ,一眨眼 LXR 都毕业步入社会开始工作了。
在这段时间里,LXR 还是会陆陆续续的更新自己的小站(虽然后面开始更新美食食谱和经验分享了),让它看起来不会太冷清,但是那个 “不安全” 角标总是像一根刺一样时不时扎眼睛一下令人难受。
于是就在最近,LXR 没那么忙的时候就开始着手彻底解决这个问题。
第一步,当然就是换一个新的免费 SSL 证书了(当然不是 LXR 扣,有没有用得先试了才知道,不然不是白买了 当然修好了估计也不会买 )。于是在新一轮的购买证书、配置并签发证书、下载证书之后,她又回到了问题的起点:
“tnd 我证书存放路径在哪?上次就没找见。”
好在此时的 LXR 并不是最开始的菜鸟 LXR 了 虽然现在来说也没有强到哪里去 ,她使用了 which 命令来查找她想要的东西。
此时我们应该来了解一下 which 命令了:
# which 是什么
which 命令是 Linux 中的一项文件操作,用于定位系统中的可执行文件。
which 指令会在环境变量 PATH 设置的目录里查找符合条件的文件。
which 命令在所有主流的 Linux 发行版中都是可用的,并且在大多数系统中, which 命令都是预安装的,无需额外安装。
# which 命令的基本语法
which 命令的语法非常简单
1 | which filename |
这里的 filename 就是你要查找的文件名或命令名。
# 查找单个命令的位置
例如,你要查找 java 命令的位置,你将使用下面这段指令:
1 | which java |
输出可能是这样的:
1 | /usr/bin/java |
这告诉我们 java 命令的位置在 /usr/bin/java 。
# 查找多个命令的位置
1 | which man java python nada |
输出可能是这样的:
1 | /usr/bin/man |
这告诉我们 man 、 java 和 python 命令的位置,而 nada 命令没有找到
# which 命令的常用选项或参数说明
which 命令的语法格式如下:
1 | which 参数 文件名 |
常用参数见下表:
| 选项 | 描述 | 选项 | 描述 |
|---|---|---|---|
| -a | 显示 PATH 变量中所有匹配的可执行文件 | –help | 显示帮助信息 |
| -n | 设置文件名长度(不含路径) | –read-functions | 从标准输入中读取 shell 函数定义 |
| -p | 设置文件名长度(含路径) | –show-tilde | 使用波浪线代替路径中的家目录 |
| -V | 显示版本信息 | –skip-dot | 跳过 PATH 变量中以点号开头的目录 |
| -w | 设置输出时栏位的宽度 |
例如,当我们要查找所有匹配的路径时,我们可以使用 -a 参数来进行查找:
1 | which -a program |
输出可能是这样的:
1 | /usr/bin/program |
这表示 program 在这两个地方都有可执行文件。
# which 命令的注意事项
which命令只适用于可执行文件。- 如果
which命令在当前路径中找不到可执行文件,它将返回空。
# 第二次见面的最终处置
问题的处置还在继续。
在使用了 which 命令后,LXR 顺利找到了 nginx 的安装路径,并找到了 nginx 的证书配置文件,在这里找到了 SSL 证书的存放路径。
欣喜若狂的 LXR 通过 winSCP 将下载好的证书文件上传至服务器指定路径,修改配置文件并重启 nginx 服务后,她开始验证重新部署的证书是否有用。
当她使用浏览器打开本站时,她发现:
“tnd 怎么这个不安全标志还在?”
后面怀疑是浏览器缓存导致的问题,索性使用 InPrivate 无痕浏览来访问网站,果然发现了问题原因。
居然是因为网站不支持 HTTPS 访问导致的。

于是 LXR 开始着手调查此事。
# 解决不支持 HTTPS 的问题
。。。未完待续(实际上是还没写完,下班了回来写哇。









