linux服务之http协议和httpd的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux服务之http协议和httpd的配置相关的知识,希望对你有一定的参考价值。

 httpd-2.2的常见配置(2)

  

  14、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服务器等等,功能十分强大。

   

   MIME: major/minor,  image/png, image/gif


   curl  [options]  [URL...]


   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 


   用法:curl [options] [URL...]


   另一个工具:elinks

    elinks  [OPTION]... [URL]...

     -dump: 不进入交互式模式,而直接将URL的内容输出至标准输出; 


  15、user/group

   

   指定以哪个用户的身份运行httpd服务进程;

    User apache

    Group apache

   

   SUexec

     

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


   适用场景:

    (1) 节约带宽,额外消耗CPU;同时,可能有些较老浏览器不支持;

    (2) 压缩适于压缩的资源,例如文件文件;


   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


  17、https,  http over ssl 


   SSL会话的简化过程

    (1) 客户端发送可供选择的加密方式,并向服务器请求证书;

    (2) 服务器端发送证书以及选定的加密方式给客户端;

    (3) 客户端取得证书并进行证书验正:

     如果信任给其发证书的CA:

      (a) 验正证书来源的合法性;用CA的公钥解密证书上数字签名;

      (b) 验正证书的内容的合法性:完整性验正

      (c) 检查证书的有效期限;

      (d) 检查证书是否被吊销;

      (e) 证书中拥有者的名字,与访问的目标主机要一致;

    (4) 客户端生成临时会话密钥(对称密钥),并使用服务器端的公钥加密此数据发送给服务器,完成密钥交换;

    (5) 服务用此密钥加密用户请求的资源,响应给客户端;


    注意:SSL会话是基于IP地址创建;所以单IP的主机上,仅可以使用一个https虚拟主机;


   回顾几个术语:PKI,CA,CRL,X.509 (v1, v2, v3)


   配置httpd支持https:

    (1) 为服务器申请数字证书;

     测试:通过私建CA发证书

      (a) 创建私有CA

      (b) 在服务器创建证书签署请求

      (c) CA签证

      

    (2) 配置httpd支持使用ssl,及使用的证书;

     # yum -y install mod_ssl


     配置文件:/etc/httpd/conf.d/ssl.conf

      DocumentRoot

      ServerName

      SSLCertificateFile

      SSLCertificateKeyFile

      

    (3) 测试基于https访问相应的主机;

     # openssl  s_client  [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]

     

  18、httpd自带的工具程序

   

   htpasswd:basic认证基于文件实现时,用到的账号密码文件生成工具;

   apachectl:httpd自带的服务控制脚本,支持start和stop;

   apxs:由httpd-devel包提供,扩展httpd使用第三方模块的工具;

   rotatelogs:日志滚动工具;

    access.log -->

     access.log, access.1.log  -->

      access.log, acccess.1.log, access.2.log

   suexec:访问某些有特殊权限配置的资源时,临时切换至指定用户身份运行;

   ab: apache bench

   

  19、httpd的压力测试工具

   

   ab, webbench, http_load, seige

   

   jmeter, loadrunner

   

   tcpcopy:网易,复制生产环境中的真实请求,并将之保存下来;

   

   ab  [OPTIONS]  URL

    -n:总请求数;

    -c:模拟的并发数;

    -k:以持久连接模式 测试;


以上是关于linux服务之http协议和httpd的配置的主要内容,如果未能解决你的问题,请参考以下文章

linux服务之http协议和httpd的配置

http协议和httpd的配置

WEB应用之http协议和httpd闲聊

JavaEE之Http协议和Tomcat服务器

linux搭建svn支持svn协议和http协议

Http协议和Tomcat服务器