httpd协议详解(三)

时间:2022-06-21 16:54:53


16、 https协议

       x509.3证书格式:            证书格式的版本号            证书序列号            证书签名算法            证书颁发者            有效期            持有者的名称            持有者的公钥            CA的ID            持有者的ID            其它扩展信息                基本约束                证书策略                密钥的使用限制            CA签名        PKI: Public Key Infrastructure            端实体(申请者)            注册机构(RC)            签证机构(CA)-->签证机构(CA)            证书撤消列表(CRL)发布机构            证书存取库        SSL握手要完成的工作:            交换协议版本号            选择双方都支持的加密方式            对两端实现身份验正            密钥交换        http: 文本协议,80/tcp        https: 二进制格式的协议, 443/tcp        SSL会话基于IP地址进行:不支持在基于FQDN的虚拟主机上实现        客户端验正服务器证书时:            日期检测:证书是否在有效期内            证书颁发者的可信度;            证书的签名检测;            持有者的身份检测;(一般为服务器主机如 www.jungegelinux.com)                      httpd: 基于mod_ssl模块实现对ssl的支持            (1) 准备好服务器的私钥和证书;            (2) 安装mod_ssl模块                # yum -y install mod_ssl            (3) 配置/etc/httpd/conf.d/ssl.conf                配置使用ssl的虚拟主机                    ServerName                      DocumentRoot                配置证书和私钥                    SSLCertificatFile 证书文件                    SSLCertificatKeyFile 密钥文件            (4) 重启httpd服务            (5) 测试

               # openssl s_client -connect IP:port -CAfile /path/to/CA_certificate_file

17、 服务器status页面

       

           服务器status页面                    内生的status信息,且此信息可以通过web预以显示                                配置文件系统路径访问属性                        <Directory [~] "">                        </Directory>                                    <File [~] "">                        </File>                                 配置URL访问属性                        <Location  [~] "">                        </Location>                                    <LocationMatch "">                        </LocationMatch>                                    http://www.jungegelinux.com/server-status                                如果要配置其属性的URL能映射到某具体文件系统路径,建议使用<Directory>;                         处理器:是当文件被调用时,Apache内部表示形式;一般每种文件类型都有其隐式处理器;                    显式的定义使用的处理器 SetHandler                                <Location /URL>                        SetHandler server-status                    </Location>                                定义访问控制机制                        基于IP控制                        基于用户控制                                    示例:                            <Location /server-status>                                SetHandler server-status                                AuthType Basic                                AuthName "Server Status"                                AuthUserFile "/etc/httpd/conf/.htpasswd"                                Require valid-user                                Order deny,allow                                Allow from all                            </Location>

        httpd协议详解(三)


18、 curl命令

curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法, FTP上传, kerberos认证,HTTP上传,代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传,,http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

   curl的常用选项:        -A/--user-agent <string> 设置用户代理发送给服务器        -basic 使用HTTP基本验证        --tcp-nodelay 使用TCP_NODELAY选项        -e/--referer <URL> 来源网址        --cacert <file> CA证书 (SSL)        --compressed 要求返回是压缩的形势        -H/--header <line>自定义头信息传递给服务器        -I/--head 只显示响应报文首部信息        --limit-rate <rate> 设置传输速度        -u/--user <user[:password]>设置服务器的用户和密码        -0/--http1.0 使用HTTP 1.0

    httpd协议详解(三)


19、使用mod_deflate模块压缩页面优化传输速度

        SetOutputFilter DEFLATE                       # mod_deflate configuration                                # Restrict compression to these MIME types                AddOutputFilterByType DEFLATE text/plain                AddOutputFilterByType DEFLATE text/html                AddOutputFilterByType DEFLATE application/xhtml+xml                AddOutputFilterByType DEFLATE text/xml                AddOutputFilterByType DEFLATE application/xml                AddOutputFilterByType DEFLATE application/x-javascript                AddOutputFilterByType DEFLATE text/javascript                AddOutputFilterByType DEFLATE text/css                        # Level of compression (Highest 9 - Lowest 1)                DeflateCompressionLevel 9                        # Netscape 4.x has some problems.                BrowserMatch ^Mozilla/4 gzip-only-text/html                        # Netscape 4.06-4.08 have some more problems                BrowserMatch ^Mozilla/4\.0[678] no-gzip                        # MSIE masquerades as Netscape, but it is fine

               BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html


20、 资源限定

           软限制:可以超出的限制,但仅超出一定时长;            硬限制:绝对不能超出的限制                ulimit                -n [N]: 显示或限定能打开的最大的文件句柄数;

               -u [N]: 所能够运行的最多进程数;


            配置文件:/etc/security/limits.conf,扩展配置:/etc/security/limits.d/*.conf

         

#vim /etc/security/limits.conf


、        httpd协议详解(三)


21、 ab工具的使用初步

       -c: 模拟的并发数        -n: 总请求数             -c的值要小于等于-n的值       其他工具  http_load, webbench, seige

      还有强大的tcp_copy工具


22、 httpd程序包自带的工具介绍

               httpd                    Apache 服务器。                apachectl                    Apache HTTP 服务器控制工具。                ab                    Apache HTTP 服务器性能基准工具。                apxs                    Apache 扩展工具。                configure                    配置源代码。                dbmmanage                    为基本认证创建和更新 DBM 格式的用户认证文件。                htcacheclean                    清理磁盘缓存。                htdigest                    为摘要认证创建和更新用户认证文件。                htdbm                    操作 DBM 密码数据库。                htpasswd                    为基本认证创建和更新用户认证文件。                httxt2dbm                    为 RewriteMap 创建 dbm 文件。                logresolve                    将 Apache 日志文件中的 IP 地址解析到主机名称。                rotatelogs                    不关闭 Apache 而切换日志文件。                suexec                    执行外部程序前切换用户。

       

===========================the end=======================================


关于httpd的配置文件/etc/httpd/conf/httpd.conf 中的指令和值,以及其他httpd自带的工具和特性

已经总结完毕,下篇将介绍如何编译安装httpd及实现一些其他常用功能


PS:一滴水的力量,你懂的,请赐教~

 

     

     


     

本文出自 “西风瘦猪” 博客,请务必保留此出处http://jungege.blog.51cto.com/4102814/1379925