前言
为了更安全地传输,我们往往需要建立HTTPS连接。我们可以利用OpenSSL创建自签名的证书,但创建自己的CA机构并不安全也不被各大浏览器承认。目前有不少免费SSL证书提供商,其中最流行的便是Let’s Encrypt(官网),下面是关于如何申请Let’s Encrypt免费SSL证书并用Node.js建立一个HTTPS服务器。
本文以Arch Linux为例,在VirtualBox虚拟机下运行,通过SSH与宿主机连接。
由于虚拟机通过NAT联网,要想访问在虚拟机中部署的Web服务需要进行端口转发:
TCP
;主机IP填写VirtualBox虚拟网卡的地址,在Windows宿主机通过ipconfig
命令可查看,默认为192.168.56.1
;子系统IP填写虚拟机IPv4地址,在Arch虚拟机中通过ip addr
命令可查看(图中红框所示处);子系统端口为我们即将部署的Node服务的监听端口;主机端口为转发到主机后的端口,我们应该避开常用或已被占用的端口(如21、22、25、80、443),为了方便我们可以转发到原端口,本文以3000端口为例
192.168.56.1:3000
访问了
很多时候我们需要让网页不断刷新来达到持续监视或刷访问次数等目的,我们可以通过简单的JS脚本来实现网页自动刷新的操作。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18var timeout = prompt("设置刷新时间间隔[S]");
var current = location.href;
function reload() {
setTimeout('reload()', 1000 * timeout);
var myFrame = "<frameset cols=\'*\'><frame src=\'" + current + "\' /></frameset>";
with (document) {
write(myFrame);
void(close());
}
}
if (timeout > 0) {
setTimeout('reload()', 1000 * timeout);
} else {
location.replace(current);
}
我们可以打开浏览器提供的开发者工具(如Chrome为F12),进入控制台,复制以上代码来实现功能。
为了更加简化操作步骤,我们可以将以下压缩后的JS代码保存至书签栏/收藏夹(Ctrl+D),这样即可快速调用:1
javascript:{function reload(){setTimeout('reload()',1000*timeout);var myFrame="<frameset cols='*'><frame src='"+current+"' /></frameset>";with(document){write(myFrame);void(close())}}var timeout=prompt("设置刷新时间间隔(s)");var current=location.href;if(timeout>0){setTimeout('reload()',1000*timeout)}else{location.replace(current)}}
2018年9月2日,我与全新结识的同学们踏上了前往北京八达岭军训基地的汽车。天蒙蒙亮,我怀着既紧张又期待的心情开始了为期14天的军事训练。
在军训过程中,我感受到了军旅生活的艰辛与严谨。生活中,同学们在承训教官的悉心指导与监督下坚持每天认真整理内务,培养了雷厉风行的优良作风。同学们士气高涨,“将士们,听党指挥,能打胜仗,作风优良”的歌声时常响彻整个基地;训练中,同学们挥汗如雨,在飞沙走石的训练场上留下了自己坚持的痕迹。教官们的严格要求使我们进一步深化了听从指挥、令行禁止的意识。
此外,穿插在军训期间的演讲比赛、拔河比赛、合唱比赛等文体活动更是为同学们提供了展示自我、结识朋友的机会。同学们在竞争中学会团结、学会合作、学会理解,为今后的学习生活打下了坚实的基础。
9月15日,伴随着《分列式进行曲》,我昂首走过检阅台,展示了刻苦训练的成果。这同时也标志着短暂的军训时光渐渐走向尾声。
通过这次军训,我受益匪浅。我意识到了优良的作风、强健的体魄、坚强的意志是个人与团队进步的先决条件,我将把军训中养成的优良习惯延续到今后的学习生活中。军训不仅提升了我的国防意识,更让我深刻认识到和平的来之不易。铭记历史,缅怀先烈,珍爱和平,开创未来。我将牢牢记住并践行这十六个字,让祖国强大,让世界和平!