Cyclists 发布的文章

「全自动」LNMP1.5 无需升级至 1.6 快速开启 TLS1.3

最近在看一些 TLS 协议 1.3 版本的相关知识,为了用上更安全的传输协议...编译了不下于五次 nginx 和 openssl,网站也跟着崩溃,此教程主要说下如何在 lnmp1.5 上快速部署一个支持 TLS 1.3 协议版本的网站。

2008 年发布的 TLS1.2 传输协议至今也有十年的历史了,2018年下旬推出了速度更快更安全的 TLS1.3 传输协议,Chrome 70、Firefox 64 后续版本都率先支持基于 openssl 1.1.1 的 TLS1.3 传输协议,也是时候抛弃历史迎接新的未来!

TLS 1.3 相对于之前的版本,主要有两大优势:

Enhanced security: 安全性增强

Improved speed:速度提升

Nginx 底层使用的密码库是 OpenSSL,也就是说是否支持 TLS 1.3 版本,取决于 OpenSSL 库。

目前 Nginx 1.13 以上的版本支持 TLS 1.3 版本,而 OpenSSL 1.1.1 版本支持 TLS 1.3 版本。

本教程基于 lnmp1.5 一键包环境,系统为 centos 7.0 其它环境自测。

开始之前先备份当前生产环境,以备崩溃恢复之需。

开启方法:

利用 SSH 工具连接 VPS,输入以下命令下载 lnmp1.6 测试版;

wget http://soft.vpser.net/lnmp/lnmp1.6beta.tar.gz -cO lnmp1.6beta.tar.gz && tar zxf lnmp1.6beta.tar.gz && cd lnmp1.6

下载完之后会自动进入 lnmp1.6 文件夹,此刻请勿执行./install.sh lnmp

lnmp1.6 一键包已经正式支持 TLS1.3,所以直接利用 lnmp1.6里的升级脚本直接为 lnmp1.5 nginx 以及 openssl 进行升级即可。

接着用 lnmp1.6 文件夹里自带的升级脚本来升级 nginx;

./upgrade.sh nginx

输入您需升级的版本号,目前 nginx 官网最新版本为 1.15.9

nginx 版本号查询地址:https://nginx.org/en/download.html

之后会自动升级至你设置的 nginx 版本号以及 TLS1.3 所需要的 openssl 1.1.1 正式版。

20190302220309.png

本网站已自动升级 nginx 1.14.0 openssl 已升级至1.1.1a,TLS1.3 所需要的模块--with-openssl=/root/lnmp1.6/src/openssl-1.1.1a --with-openssl-opt='enable-weak-ssl-ciphers'已自动编译。

conf 加入以下配置;

ssl_protocols  TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5";

注:如果您服务器上建立了多个站点(二级域名),需将全部站点 conf 配置文件里都加入以上配置才能生效。

之后重启 nginx 服务,用 chrome 或者 Firefox 通过审查元素查看证书相关信息即可看到网站已开启 TLS1.3 传输协议。

20190302221241.png

全自动编译,无需手动输入编译模块以及修改某些信息,适合不想在生产环境升级至 lnmp1.6 又想使用 TLS1.3 协议,比网络上的教程更加安全高效,更加适合小白党。

(全系列)极路由官方固件增刷 SS 插件

20190302004504.png

  1. 开启极路由开发者模式:

安装Shadowsocks插件需要开启开发者权限。以下为申请方法:

1/浏览器输入192.168.199.1 (注:'192.168.199.1'是极路由的默认管理IP,如果有修改请改为修改后的IP),进入极路由管理页面,点击进入云平台。

2/云平台选择 '路由器信息'。

3/滚动到页面底部,高级设置处,点击+号展开高级设置。

4/点击蓝色的申请按钮,进入申请页面。

5/这里需要绑定手机,输入手机号获取短信验证码。

6/验证成功后,进入微信验证页面,按照极路由官方提示,完成微信认证。

7/验证成功之后,即开通开发者模式。

  1. SSH登录极路由:

Windows: 使用PuTTY或xShell登录 (个人比较偏好xShell),具体使用方法网上很多,请自行搜索!

  1. 便捷脚本安装:
cd /tmp
echo "127.0.0.1 hiwifiss.ml" > /etc/hosts.d/aa;rm -f /tmp/install.sh;/etc/init.d/dnsmasq restart;curl -k https://raw.githubusercontent.com/uwtom/SSR-HiWifiOS/master/install.sh -o install.sh;chmod +x /tmp/install.sh && sh /tmp/install.sh
  1. 完成安装后重启极路由:

可以在PuTTY或xShell命令行输入'reboot',回车确认;或者拔掉极路由电源等一会再插上,最直接有效的方法!:)

跑步,归根结底就是一种生活方式

刚接触跑步的时候也忘了什么时候了,粗略一算大概也有五年以上的时间了,那时候还是我兄弟带我跑步的,一开始是拒绝的,因为累。

从刚开始的 1km 到后来的 3km 5km 10km...最远跑过 30km,就像着了魔一样,慢慢的打开了新的生活方式,乐趣无穷。

刚开始觉得跑步就是跑步,也没觉得对自己有啥改变,纯粹就是跑着玩。

跑了一段时间后,慢慢的适应了,有时候也问自己为什么要跑步?

最开始因为跑着玩以及健康,又在兄弟的引领下,已顺利成为又一张标榜生活品质的标签。

然而当人们跨过跑步最初的门槛,穿上跑鞋,每日奔跑,会越来越发现跑步这件事已经远远超越了运动的范畴。

除了最基本的健康需要,跑步逐渐成为了一种生活状态,一个全新的视角,一个自我审视的机会,甚至一种文化,一种精神,一门哲学。

当人们终日背负各种压力疲惫不堪时,跑步让我们惊喜,发现这沉重的肉身竟然深埋着源源不断的潜能。原来每个人的身体都是一个宇宙,一座能量堆,无边无际。惊喜的同时,也让人感觉到自己的强大。

人在跑步的时候,其实都变得格外简单,“停下来还是坚持?”“跑完要奖励一下自己!”“好想休息啊!”想法短促到没有转折,平铺直叙,好像回归到儿时的思维方式,或者干脆就是什么都没想。

该如何才能让正常人理解“我们享受单调、重复与痛苦”这件事呢?这种看似有悖人类天性的事却成了跑步人共同的情结,也成为跑步文化的基调。

这是我家喵喵,以及奖牌镇楼!

20190228222112.jpg

20190228222121.jpg

一双筷子,承载着中国人的情感和记忆

以筷子为情感载体,串起广东西关老屋、上海长宁现代家庭、福建永定客家土楼、黑龙家佳木斯东胜农家、四川宣汉乡村等场景,描述中国人过春节的生活情感与情节,承载着中国特有的传统与美德,呼吁大家珍惜与家人、亲友的每一次团聚,弘扬分享、感恩、明礼、孝敬等中华几千年传承的文化。

一双筷子,承载了中国人数千年的情感。

以小见大、见微知著,让筷子传承的浓浓中国味继续感动你我,让这份关爱和在意伴随每一个人的生活。

视频源自 2014 年春晚 CCTV 公益广告《筷子篇》.

祝愿看到此文章的网友们新年快乐,大年三十儿一家人团团圆圆,笑开颜!

Typecho 默认主题评论框架样式修改方法

网站使用的主题是基于 Typecho 1.0 正式版默认主题二次开发的,此方法仅测试了默认主题,其他主题未测试,可照葫芦画瓢参考修改 CSS 以及评论框架。

之前修改了整体UI样式,简约风格一直是我所喜欢的,主题也不便开源,因为有些实现的功能是修改了 Typecho 程序源码的,一旦分享,当你安装之后有可能出现未知 BUG,除非你动手能力强,否则别轻易找我要,虽然我很乐意分享。

本来想把功能都集成在主题里,开源也方便,但是我也忘记修改了哪些具体的源码,这个网站修改的时间前前后后大概有两三个月,毕竟上班族,只能抽出闲时时间慢慢修改,就这样吧,如果想要此主题的人比较多了,我再抽出时间慢慢集成在主题里并开源。

新评论框架:

20181206230457.png

看上去是不是比默认主题的评论框架更顺眼呢?

修改方法:

进入后台编辑 style.css 主题文件,在最后添加以下 CSS 代码;

#comment-form {
padding-top: 5px;
}
.col1 {
margin-right: -210px;
height: auto;
float: left;
width: 100%;
position: relative;
background-position: 0 0;
}
.col2 {
width: 194px;
float: right;
position: relative;
overflow: hidden;
background-position: right top;
}
.clear {
clear: both;
}
.col2 p, .col1 p {
margin: 9px 0;
}
#comment-form label {
display: block;
color: #888;
position: absolute;
margin: 8px;
}
#comment-form input {
padding: 5px 6px;
line-height: 16px;
height: 32px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
border: solid 1px #D4D4D4;
background: #fdfdfd;
font: 14px;
padding-left: 50px;
}
button.submit {
border: 1px solid #ddd;
display: block;
line-height: 32px;
width: 100%;
outline: none;
background: #e8e8e8;
}
button.submit {
color: #6E7173;
text-decoration: none;
-webkit-transition: all .1s ease-in;
-moz-transition: all .1s ease-in;
-o-transition: all .1s ease-in;
transition: all .1s ease-in;
border: 1px solid #ddd;
display: block;
line-height: 32px;
width: 100%;
outline: none;
background: #e8e8e8;
}
button.submit:hover {
background: #dfdfdf;
}
.col1 p {
margin-right: 210px;
}
textarea.textarea {
line-height: 1.8;
padding: 5px 10px 5px 10px;
width: 100%;
height: 162px;
padding: 10px;
overflow: auto;
margin: 0;
line-height: 1.8;
color: #222;
font-size: 14px;
background: #fdfdfd!important;
font-family:"Microsoft Yahei";
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], textarea {
padding: 5px;
border: 1px solid #ddd;
width: 100%;
border-radius: 2px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
outline: none;
}

点击保存.

进入后台编辑 comments.php 主题文件定位到以下标签;

<form method="post" action="<?php $this->commentUrl() ?>" id="comment-form" role="form">

在定位到以上代码之后,删除此代码之后</form>标签之前的所有代码,并添加以下代码;

 <div class="col1">
  <p><textarea rows="8" cols="50" name="text" id="textarea" class="textarea" required><?php $this->remember('text'); ?></textarea></p>
 </div>
 <div class="col2">
  <p><label for="author" class="required">称呼</label><input type="text" name="author" id="author" class="text" value="<?php $this->remember('author'); ?>" required=""></p>
  <p><label for="mail" <?php if ($this->options->commentsRequireMail): ?> class="required"<?php endif; ?> >邮箱</label><input type="email" name="mail" id="mail" class="text" value="<?php $this->remember('mail'); ?>" <?php if ($this->options->commentsRequireMail): ?> required <?php endif; ?>></p>
  <p><label for="url"<?php if ($this->options->commentsRequireURL): ?> class="required"<?php endif; ?>>网站</label><input type="url" name="url" id="url" class="text" placeholder="https://example.com" value="<?php $this->remember('url'); ?>" <?php if ($this->options->commentsRequireURL): ?> required<?php endif; ?>></p>
  <p><button type="submit" class="submit">提交评论</button></p>
 </div>
 <div class="clear"></div>

点击保存.

Bug:后台登陆之后切换到前台无法直接回复评论(无管理员已登录提示)

现在清空一下 cookie 缓存或者浏览器无痕模式刷新一下,即可看到新的评论框。

如果您怕修改出错,可使用我已经修改好的两个主题文件,直接上传覆盖即可;

下载地址:comment.zip

技术支持:https://vircloud.net