压缩具体实现十分简单,先要加载模块
在base。conf已经加载了压缩模块,说明现在系统支持压缩功,直接调用即可
需要指定是哪种文件资源压缩,是文本,还是图片,还是视频,指定压缩文件类型
还需要指定压缩比,最高就是9
个别情况下可以不压缩,有些特定的文件不压缩,或者一些特定的浏览器也不支持压缩
如果是mozilla 4.0678版本的就不压缩
现在要启用只是两点,第一针对哪些文件压缩,和压缩比是多少
还需要指定压缩比
现在和原始文件一样,没有压缩
因为curl命令,不加选项,默认是不压缩的
现在用图形浏览器访问是否压缩,有压缩提示
要求。如果服务器也是压缩的,就用压缩进行通讯
如果把压缩格式进行取消
现在服务器已经不支持压缩,客户端强行进行压缩还支持吗,
不可以了
这个选项就说明向服务器申请也想要压缩
compressed,如果服务器支持压缩,客户端需要压缩,就可以压缩
生产中还是建议压缩
客户端发送请求要用ssl压缩,服务器端收到请求,会把自己的证书发过来
客户端由于事先拥有了ca的证书,可以把服务器端发过来的证书进行验证,解密,得到服务器端的公钥,
得到公钥后,就可以拿服务器的公钥进行加密,加密生成一个临时的秘钥(对称秘钥)进行通讯
https,实现,需要先申请一个证书
17当CA,7当客户端
先要自己创建私钥,然后弄自签名证书
这个文件定义了一些CA的信息
创建CA,先建立私钥
下一步自签名 +x509代表自签名,key指定私钥文件,-out、生成自签名证书文件,-days指定有效期
CA创建好了,还缺seriial (代表证书从多少开始
和index文件
接着客户端向服务器端申请证书
国家省,组织三项必须一致
csr有了,复制到服务器端,去做批准,颁发证书
客户端拿到证书
颁发证书
证书就有了
复制证书到客户端
还需要把CA的钥匙复制过去
老提示这个
被注释掉了,没有名字
就不报缺名字的提示了
安装ssl模块
没安装,注意pki文件夹
安装后的变化,自签名证书和自签名私钥
现在只要把服务器重启就可以支持了https了。是走的443端口
证书路径,和私钥路径
、需要修改成之前生成的
加一个主机,用于访问开启https的主机
需要信任
导入证书
信任证书
之前能找到用户名和密码
配合https就可以加密了
但是用户就输入http,不会去主动敲https
permanent永久 temp临时
302被跳转了
302临时
-L可以看到过去跳转的地址
换成永久试试
试试换成加密地址
不带 s试试能否跳转
以上是无条件跳转,实际使用下面比较安全的方法
之前是客户端向服务器端发送http申请,服务器端返回301跳转,然后客户端使用https,在这期间有个隐患
因为第一次走的就是http
如何使用第一次访问就用https
hsts http strict transport security http严格传输安全
首次发送http是不可避免的,但是服务器会告诉客户端支持hsts,以后客户端记录在磁盘上就一直用https访问了
淘宝就是告诉你一年内只要访问就是https
url的任何字符串 跳转到https http_post 代表本机 $1互相引用,302临时重定向
但是还有缺点,第一次要是能直接走https多好,那就需要htst的预加载列表 preload list
向组织表明你的网站支持https,就会帮你放到专门的浏览器列表里,既然浏览器有了,就会第一次也使用https
日志滚动就说明会自动生成新的文件
网易开发的测试工具,可以模拟生产环境、
是内核级别的功能
当客户端发起请求想访问某个资源,
服务器收到请求,正常是需要解封装,最终到达应用程序,Web服务应用程序httpd
这个程序收到请求后,进行请求报文的分析,发现发送的请求是get指令(应该跑到磁盘上去找文件)
httpd是以apache运行的,apache是个用户,用户是无法访问磁盘上的物理设备的,所以需要发送指令到内核去,
内核才有权限去访问磁盘空间,内核收到指令后 ,把磁盘上文件读出,读出来以后,放到内核的buffer缓冲区
缓冲区收到后再把这个复制到httpd的进程内存空间,httpd收到后,会把它封装成响应报文
要从网络中发出去,还得经过内核,内核收到以后,再从物理网卡发送出去
(这其中这个文件,走来走去还是回到内核,就白走了,sendfile就解决了这样的机制)
kernel socket buffer 是往外传的
直接发出去,就省略了很多
但是在某些场景下不适合这种技术,Web服务器,存放的数据不在本地硬盘,在别处,你的空间数据再另外一个服务器上
如NFS,你的数据是来自于网络存储的,sendfile对于网络支持是并不可靠的
sendfile默认功能是启用的
改成on就可以了
用这种就是减少了上下文切换的次数,打打提升了整个性能
实际上反向代理不怎么使用,nginx更合适
proxypass 当访问跟的时候, 跳转到其他网站上去
对方在回来的时候,还可以替换回去
从17访问页面
把重定向取消了
当访问30。7.就转到30.6上
认为中间代理服务器在访问
客户端发送请求,代理服务器代替它来访问
apache软件是跨平台的,这时候也支持linux,uniux平台,
就需要精通winodws,linux的ABI,这样就无形中有两组维护软件的平台,成本太高,apache还有其他软件
所以apache开发了APR项目,软件跑在APR上,APR与不同操作系统链接
跟java虚拟机一个道理
安装httpd,是依赖于apr
17上机器是干净的,就没安装httpd
要想在系统中编译安装httpd,就需要apr
还需要更新apr版本才能安装最新的httpd版本
找一个干净系统,z准备编译安装
因为httpd依赖于apr,所以编译的时候先编译apr
第三步编译httpd
上面方法比较啰嗦,下面方法比较合适,省去编译三次了
把apr两个文件夹放到httpd目录下,移动过去,去掉版本号
编译
缺包
又缺东西
有错误
把错误文件删除重新来
重新编译
现在只需要做一些服务启动和配置就可以了
可以了
这就是httpd编译安装