HTTP的压缩1、使用mod_deflate模块压缩页面优化传输速度2、压缩适于压缩的资源,例如文本文件LoadModule deflate_module modules/mod_deflate.so SetOutputFilter DEFLATESetOutputFilter DEFLATE# Restrict compression to these MIME typesAddOutputFilterByType DEFLATE text/plain(纯文本)AddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE application/xhtml+xmlAddOutputFilterByType DEFLATE text/xmlAddOutputFilterByType DEFLATE application/xmlAddOutputFilterByType DEFLATE application/x-javascriptAddOutputFilterByType DEFLATE text/javascriptAddOutputFilterByType DEFLATE text/cssDeflateCompressionLevel 9(压缩等级为9) HTTPS实现1、实现https 安全网站安装mod_ssl模块,然后重启httpd服务 2、利用私有CA实现HTTPS(1)建立CA进入/etc/pki/CA/文件夹中(umask 077;openssl genrsa -out private/cakey.pem 4096)openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650 <<EOFCNbeijingbeijingmagedudevopsca.magedu.comadmin@magedu.comEOFtouch /etc/pki/CA/index.txtecho 01 > /etc/pki/CA/serial(2)申请证书mkdir /etc/httpd/conf.d/sslcd /etc/httpd/conf.d/ssl(umask 066;openssl genrsa -out httpd.key 1024 )openssl req -new -key httpd.key -out httpd.csr scp /etc/httpd/conf.d/ssl/httpd.csr CAServer:/etc/pki/CA(3)颁发证书openssl ca -in /etc/pki/CA/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 100scp /etc/pki/CA/certs/httpd.crt 192.168.37.7:/etc/httpd/conf.d/ssl/scp /etc/pki/CA/cacert.pem 192.168.37.7:/etc/httpd/conf.d/ssl(4)修改配置文件/etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crtSSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.keySSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem HTTP重定向为HTTPS1、基于虚拟主机重定向(修改/etc/httpd/conf.d/test.conf) 2、不基于虚拟主机重定向(HSTS)vim /etc/httpd/conf/httpd.conf Header always set Strict-Transport-Security "max-age=31536000"(HSTS的缓存时间)RewriteEngine onRewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]反向代理1、启用反向代理ProxyPass "/" "http://www.example.com/"ProxyPassReverse "/" "http://www.example.com/"2、特定URL反向代理ProxyPass "/images" "http://www.example.com/"ProxyPassReverse "/images" http://www.example.com/示例:<VirtualHost *>ServerName www.magedu.comProxyPass / http://localhost:8080/ProxyPassReverse / http://localhost:8080/</VirtualHost> 面 http协议常用的状态码200: 成功,请求数据通过响应报文的entity-body部分发送;OK301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently302: 响应报文Location指明资源临时新位置 Moved Temporarily304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified401: 需要输入账号和密码认证方能访问资源;Unauthorized403: 请求被禁止;Forbidden404: 服务器无法找到客户端请求的资源;Not Found500: 服务器内部错误;Internal Server Error502: 代理服务器从后端服务器收到了一条伪响应,如无法连接到网关;Bad Gateway503: 服务不可用,临时服务器维护或过载,服务器无法处理请求504: 网关超时案例:源码编译安装httpd-2.4.39环境:apr-1.7.0.tar.bz2 apr-util-1.6.1.tar.bz2httpd-2.4.39.tar.bz21 合并源码文件tar xvf apr-1.7.0.tar.bz2 tar xvf apr-util-1.6.1.tar.bz2 tar xvf httpd-2.4.39.tar.bz2 mv apr-1.7.0 httpd-2.4.39/srclib/aprmv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util2 安装相关的包yum install gcc prce-devel openssl-devel expat-devel -y3 编译安装cd httpd-2.4.39/./configure \--prefix=/app/httpd24 \--enable-so \--enable-ssl \--enable-cgi \--enable-rewrite \--with-zlib \--with-pcre \--with-included-apr \--enable-modules=most \--enable-mpms-shared=all \--with-mpm=preforkmake -j 4 && make install4 环境变量和启动echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/httpd24.sh. /etc/profile.d/httpd24.shapachectl start