远程桌面无法连接–验证证书过期或无效的一个有效解决办法

配置Windows 2008 R2 的远程桌面证书
1、购买SSL certificate
2、转换,使证书可以安装到浏览器:
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out client.pfx
也可以应用到IIS中,也可以被远程桌面使用。

3、导入 SSL 证书
开始 -〉运行 -〉MMC,启动控制台程序 -> 选择菜单“文件 -〉添加/删除管理单元”->列表
中选择“证书”->点击“添加”-> 选择“计算机帐户” ->点击完成。在控制台的左侧显示证书
树形列表,选择“个人”- “证书”,右键单击,选择“所有任务-〉导入”, 根据“证书导入向
导”的提示导入 pfx 文件过程当中有一步非常重要 “根据证书内容自动选择存储区”,安装过程
当中需要输入密码为您当时设置的位密码(该密码是在生成.csr和.key的时候输入的)。
4、打开控制面板,选中管理工具,远程桌面服务,打开远程桌面会话主机配置,连接 属性,选择刚才导入的可信证书

配置Windows 2012 R2 Windows Server 2016 Windows 10 的远程桌面证书
1、修改Windows主机名 sgp.asuhu.com
2、申请SSL certificate
3、我申请到的是Wildcard SSL certificate *.asuhu.com
4、转换证书 openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out client.pfx
5、命令提示符输入 mmc →文件→添加删除管理单元→选中证书→点击添加 计算机账户→下一步 完成 确定→点击证书→点击个人→所有任务→导入证书
6、更新远程桌面设置,e2a1e580368ae7f0d1c30d08599c1339815b53eb是SSL certificate的hash值,中间不能有空格
命令提示符输入
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="‎e2a1e580368ae7f0d1c30d08599c1339815b53eb"
C:\Windows\system32>wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="e2a1e580368ae7f0d1c30d08599c1339815b53eb"
正在更新“\\SGP\root\cimv2\TerminalServices:Win32_TSGeneralSetting.TerminalName="RDP-Tcp"”的属性
属性更新成功。
7、对域名进行A记录设置
8、登录远程桌面的时候地址需要输入sgp.asuhu.com
Power Shell 查看证书信息 https://technet.microsoft.com/en-us/library/hh847761.aspx
https://blogs.technet.microsoft.com/askperf/2014/05/28/listener-certificate-configurations-in-windows-server-2012-2012-r2/

sshot-1

sshot-2

sshot-3

Nginx使用的php-fpm的两种进程管理方式及优化

Nginx使用的php-fpm的两种进程管理方式及优化

; static - a fixed number (pm.max_children) of child processes;
; dynamic - the number of child processes are set dynamically based on the
; following directives:
; pm.max_children - the maximum number of children that can
; be alive at the same time.
; pm.start_servers - the number of children created on startup.
; pm.min_spare_servers - the minimum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is less than this
; number then some children will be created.
; pm.max_spare_servers - the maximum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is greater than this
; number then some children will be killed.
; Note: This value is mandatory.
pm = dynamic
pm.max_children = 8
pm.start_servers = 5
pm.min_spare_servers = 4
pm.max_spare_servers = 8

TCP链接的几种状态

通常情况下,一个正常的TCP连接,都会有三个阶段:

TCP三次握手;
数据传送;
TCP四次挥手
里面的几个概念:

SYN: (同步序列编号,Synchronize Sequence Numbers)
ACK: (确认编号,Acknowledgement Number)
FIN: (结束标志,FINish)
I. TCP三次握手
客户端发起一个和服务创建TCP链接的请求,这里是SYN(J)
服务端接受到客户端的创建请求后,返回两个信息: SYN(K) + ACK(J+1)
客户端在接受到服务端的ACK信息校验成功后(J与J+1),返回一个信息:ACK(K+1)
服务端这时接受到客户端的ACK信息校验成功后(K与K+1),不再返回信息,后面进入数据通讯阶段

II. 数据通讯
客户端/服务端 read/write数据包

III. TCP四次握手
客户端发起关闭请求,发送一个信息:FIN(M)
服务端接受到信息后,首先返回ACK(M+1),表明自己已经收到消息。
服务端在准备好关闭之前,最后发送给客户端一个 FIN(N)消息,询问客户端是否准备好关闭了
客户端接受到服务端发送的消息后,返回一个确认信息: ACK(N+1)
最后,服务端和客户端在双方都得到确认时,各自关闭或者回收对应的TCP链接。