让树莓派不再吃灰-VS Code
2020-08-15 •
评论
网页版VS Code,通过浏览器远程编辑代码。以后买iPad Pro不再是买后"爱奇艺"。
最近给博客网站nginx编译支持TLS1.3协议,TLS1.3在加密上有所提升,还有一点是握手过程中,第一次握手只需要一个RTT而第二次访问则是0-RTT,因此特意去升级尝鲜。由于TLS1.3还需要OpenSSL1.1.1以上的版本,而系统自带OpenSSL是1.1.0版本。
# gcc编译工具
yum install gcc -y
# 源码下载
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1g.tar.gz
tar zxvf OpenSSL_1_1_1g.tar.gz
# 配置
cd openssl-OpenSSL_1_1_1g
./config --prefix=/usr
# 编译安装
make
ldconfig
# 验证版本
openssl version
# nginx configure时候加入以下支持TLS1.3
--with-openssl=/usr/bin/openssl --with-openssl-opt=enable-tls1_3
# 添加TLSv1.3
ssl_protocols TLSv1.2 TLSv1.3;
# 加入TLS1.3引入的新算法
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-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;
可以在Console控制台看到使用TLS1.3
或者使用shell中检查(以下两个命令均可验证)
curl -Ivvv --tlsv1.3 https://icharle.com
openssl s_client -connect icharle.com:443 -state
之前一直使用docker来部署项目,不过发现直接使用-p映射端口则出现问题,如nginx映射80端,一般都会写-p 80:80
,这样导致直接透过系统本机的防火墙,不用开端口可以直接外网访问80端。之前一直使用阿里云、腾讯云机器,可以给ECS实例设置安全组方式限制外网端口,不过针对没有这种设置操作的服务器实例之前一直没有认真研究,现在做一下这次折腾总结记录。
-p 127.0.0.1:8080:8080
,后在本机nginx代理工具映射公网访问服务I/O多路复用可以在单线程的情况下,同时监听多个描述符fd,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。
但是select、poll、epoll本质上都是同步I/O,因为它们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,相对于异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。