摇蒲小笙

天地不仁,以万物为刍狗


  • 首页

  • 分类

  • 标签

  • 站点地图

  • 关于

  • 搜索

QUIC上手初体验

发表于 2020-07-01 | 分类于 HTTP |

安装支持HTTP3的nginx,通过cloudflare云服务开源的quiche实现,其中主要涉及内容包括

  • nginx源码
  • 由cloudflare开源于github的quiche项目(quiche从nginx-1.16.x版本开始支持)
  • 由google开源于github的boringssl项目(在quiche项目中引用了该项目)
  • Rust语言环境(cloudflare/quiche项目build需要)
  • Golang语言环境(google/boringssl项目make需要)
  • 支持https的curl最新版本
  • SSL证书生成
阅读全文 »

OPENSSL命令参考

发表于 2020-06-30 | 分类于 安全 |

一般使用openssl生成证书步骤:
1、使用openssl使用des3算法生成2048位的rsa私钥,此处需输入预置解析密码(需记下以备后用,譬如123456):

1
openssl genrsa -des3 -out server.key 2048

注:查看刚生成的私钥(需键入解析密码):

1
openssl rsa -text -in server.key

2、根据刚生成的私钥创建证书签名请求CSR文件,此处需键入包含公司、国家编码、地区编码等信息:

1
openssl req -new -key server.key -out server.csr

注:查看生成CSR文件详情:

1
openssl req -text -in server.csr -noout

3、删除密钥中的密码,避免在使用该证书的应用加载时需要输入解析密码的操作:

1
openssl rsa -in server.key -out server.key

4、生成时间为10年(尽量长一点时间)的CA证书:

1
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

以上一顿操作之后便能在~/tools/openssl目录下看到如下文件:

1
2
3
4
5
6
7
zero@zero:~$ ls -a -l -h tools/openssl/
total 20K
drwxrwxr-x 2 zero zero 4.0K Jul 4 03:39 .
drwxrwxr-x 8 zero zero 4.0K Jul 4 03:36 ..
-rw-rw-r-- 1 zero zero 1.3K Jul 4 03:39 server.crt
-rw-rw-r-- 1 zero zero 1.1K Jul 4 03:39 server.csr
-rw------- 1 zero zero 1.7K Jul 4 03:42 server.key

另:如果有需要PEM格式证书,可通过以下方式生成:

1
openssl x509 -in server.crt  -outform PEM -out server.pem

阅读全文 »

网络模型之OSI七层和TCP/IP四层

发表于 2020-03-01 | 分类于 TCP/IP |

开放系统互连体系(OSI, Open System Interconnection)标准参考模型,也叫七层模型,是国际标准化组织(ISO, International Organization for Standardization)制定的一个用于计算机或通信系统间互联的标准体系,它是一个七层的、抽象的模型体,分别为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层,七层模型不仅包括一系列抽象的术语或概念,也包括具体的协议。
TCP/IP四层协议是一组用于实现网络互连的通信协议,Internet网络体系结构以TCP/IP为核心,参考OSI七层模型将协议分为4个层次,分别为应用层、传输层、网络层、数据链路层。

阅读全文 »

《卧虎藏龙》-影评

发表于 2018-12-05 | 分类于 影评 |

江湖里卧虎藏龙,人心里何尝不是。刀剑里藏凶,人情里何尝不是。

阅读全文 »

Spring-Boot启动过程-配置信息

发表于 2018-10-18 | 分类于 spring |
阅读全文 »

Spring-Boot启动过程-Bean初始化

发表于 2018-10-17 | 分类于 spring |
阅读全文 »

Spring-Boot启动过程-事件

发表于 2018-10-17 | 分类于 spring |
Spring中的监听器listeners是负责在应用启动过程中对各个阶段,对容器的启动过程监听并处理各阶段的动作,它的生命周期也只存在于应用开启启动到启动完成。监听器接收的信号即“事件(event)”在spring项目启动过程中主要分为四个阶段——开始启动、环境参数加载完成、准备完毕、启动成功|失败 ...
阅读全文 »

Tomcat系统架构

发表于 2018-03-03 | 分类于 java |
阅读全文 »

Java引用类型

发表于 2018-01-26 | 分类于 java |

在jdk1.2之后,位于java.lang.ref包下有Reference的实现SoftReference(软引用),WeakReference(弱引用),PhantomReference(虚引用),FinalReference(即强引用StrongReference),在jdk1.2之前所有的引用皆为强引用。Reference作为一个abstract修饰的类,是所有引用类型的基类,此类定义了常用于所有引用对象的操作。因为引用对象(*Reference)是通过与垃圾回收器的密切合作来实现的,所以不能由程序员直接为此类(Reference)创建子类。Reference类型的使用主要是为了增强jvm内存管理功能,通过使用不同的引用类型,程序员可以在一定程度上与GC交互,通过定义不同对象的引用类型改善GC的效率。被强引用类型引用的对象即使在OOM的情况下也不会被GC掉,软引用的对象在内存吃紧的情况下触发的GC过程中会被清除,弱引用的对象只要触动了GC就会被清除,虚引用的对象引用并不影响对象的生命时间,虚引用主要用来跟踪对象被垃圾回收器回收的活动。

阅读全文 »

Redis实现分布式锁

发表于 2018-01-23 | 分类于 java |

分布式锁总是一个热点讨论的话题,在涉及到多个系统调用,或者多台服务并行提供服务的情况下,对竞争资源的保护一般都会采用乐观锁,或分布式锁的方式实现,对单条资源的竞争一般选择乐观锁/悲观锁,而对过程的竞争往往是通过分布式锁的方式加以保护。实现分布式锁的方案也有很多。在实现分布式锁的过程中,往往有很多人会忽略一个细节,即只有加锁的人才具备释放锁的权利。这也是在公司中看一个”前人”在2015年实现的一个分布式锁源码,发现具有这个漏洞,特重新实现,以做记录。

阅读全文 »
12…4
Zero.Zeng

Zero.Zeng

学到老才能活到老

39 日志
13 分类
49 标签
RSS
© 2020 Zero.Zeng
由 Hexo 强力驱动
主题 - NexT.Mist