daemon与service、https解析 快来打我* 2022-10-01 00:47 136阅读 0赞 ### daemon与service: ### 系统为了某些功能必须要提供一些服务(不论是系统本身还是网络方面),这个服务就称为service。而实现这个service的程序我们就称它为daemon。实现某个服务是需要一个daemon在后台中运行,没有这个daemon就不会有service。 ### 依据daemon的启动与管理方式来区分: ### stand alone:daemon启动并加载到内存后一直占用内存和系统资源。响应速度较快。 super daemon统一管理的服务:有来自客户端的请求时,super daemon才唤醒相应的服务,当客户端请求结束后,被唤醒的这个服务也会关闭并释放系统资源。反应慢一些。 ### 在linux下编写daemon ### 1、编写服务的执行文件 #vim /root/testservice echo "test success" #chmod +x /root/testservice 2、编写启动服务脚本 #vim /etc/init.d/myservice #!/bin/sh #在35级别,启动优先级为80(/etc/rc3.d/下面S80:开头),停止优先级为90(K开头) #chkconfig:35 80 90 . /etc/rc.d/init.d/functions daemon /root/testservice # chmod +x /etc/init.d/myservice 3、添加/删除服务 #chkconfig --[add|del] myservice 4、启动服务 #/etc/init.d/myservice ## nginx中https设置 ## https://segmentfault.com/a/1190000002866627 优化https https://vincent.bernat.im/en/blog/2011-ssl-session-reuse-rfc5077 listen 443; ssl on; ssl_certificate /usr/local/openresty/nginx/conf/crt/shejiben.crt; ssl_certificate_key /usr/local/openresty/nginx/conf/crt/shejiben.key; ssl_session_timeout 5m; ssl_session_cache shared:SSL:100m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; 解析 ssl_certificate证书其实是个公钥,它会被发送到连接服务器的每个客户端,ssl_certificate_key私钥是用来解密的,所以它的权限要得到保护但nginx的主进程能够读取。当然私钥和证书可以放在一个证书文件中,这种方式也只有公钥证书才发送到client。 ssl_protocols指令用于启动特定的加密协议,nginx在1.1.13和1.0.12版本后默认是ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2,TLSv1.1与TLSv1.2要确保OpenSSL >= 1.0.1 ,SSLv3 现在还有很多地方在用但有不少被攻击的漏洞。 ssl_ciphers选择加密套件,不同的浏览器所支持的套件(和顺序)可能会不同。这里指定的是OpenSSL库能够识别的写法,你可以通过 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 来看所支持算法。 ssl_prefer_server_ciphers on设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。 https优化参数 ssl_session_cache shared:SSL:10m; : 设置ssl/tls会话缓存的类型和大小。如果设置了这个参数一般是shared,buildin可能会参数内存碎片,默认是none,和off差不多,停用缓存。如shared:SSL:10m表示我所有的nginx工作进程共享ssl会话缓存,官网介绍说1M可以存放约4000个sessions。 详细参考serverfault上的问答ssl_session_cache。 ssl_session_timeout : 客户端可以重用会话缓存中ssl参数的过期时间,内网系统默认5分钟太短了,可以设成30m即30分钟甚至4h。 设置较长的keepalive_timeout也可以减少请求ssl会话协商的开销,但同时得考虑线程的并发数了。
还没有评论,来说两句吧...