• httpd配置


    HTTP:Hypertext Transfer Protocol;

    HTML:Hypertext Markup Language;

    URL:Uniform Resource Locator,在Internet的WWW服务程序上用于指定信息位置的表示方法;

      Scheme://Server:Port/path/to/resource;

      http://www.mageedu.com/images/logo.jpg;

    一次完整的http请求过程:

      建立或处理连接 --> 接受请求 --> 处理请求 --> 访问资源 --> 构建响应报文 --> 发送响应报文 --> 记录日志;

    http服务器程序:

      httpd(apache);nginx;lighttpd;

    http监听端口:80/tcp,https监听端口:443/tcp;

    centos6支持安装httpd-2.2,centos7支持安装httpd-2.4;

    特别配置:

      1、持久连接

        连接建立,每个资源获取完成后不会断开连接,而是等待其他请求,访问量较大的服务器,持久连接功能会使有些请求得不到响应;

        折中方法,使用较短的毫秒级持久时间:

          KeepAlive On|Off

          MaxKeepAliveRequests #

          KeepAliveTimeout #

      2、站点访问控制

        可基于两种类型的路径指明对哪些资源进行访问控制:

          文件系统路径:

            <Directory " ">

            </Directory>

          URL路径:

            <Location " ">

            </Location>

      3、日志设定

        错误日志:

          ErrorLog logs/error_log

          LogLevel warn(记录warn以上级别的日志)

        访问日志:

          CustomLog logs/access_log combined

          LogFormat ...

      4、基于用户访问控制

        基于用户认证:

          <Directory "/var/www/html/SOME"> //要登录进入的目录

            Options None

            AllowOverride None

            Auth Type Basic

            AuthName "STRING"  //认证提示符

            AuthUserFile "/PATH/TO/HTTPD_USER"  //账号密码存放的目录

            Require user username1 username2...

            Require voild-user  //允许文件中所有用户

          </Directory>

          设置账号密码存储:htpasswd命令

            htpasswd -bm /etc/httpd/conf.d/.htuser username userpasswd

        基于组认证:

          <Directory "/var/www/html/admin"> 

            Options None

            AllowOverride None

            AuthType Basic

            AuthName "administrator private"

            AuthUserFile "/etc/httpd/conf.d/.htpasswd"

            AuthGroupFile "/etc/httpd/conf.d/.htgroup"

            Require group webadmin

          </Directory>

          组文件中:每行定义一个组

            webadmin:user1 user2 ...

      5、虚拟主机

        基于IP:

          为每个虚拟主机准备至少一个ip地址;

        基于port:

          为每个虚拟主机准备至少一个专用port,实践中很少使用;

        基于hostname:

          注意:一般虚拟主机莫与中心主机混用,所以要是用虚拟主机,先禁用中心主机,注释DocumentRoot;

        每个虚拟主机都专用配置:

        <VirtualHost *:80>

          ServerAdmin webmaster@dummy-host.example.com

          DocumentRoot /www/docs/dummy-host.example.com

          ServerName dummy-host.example.com

          ErrorLog logs/dummy-host.example.com-error_log

          CustomLog logs/dummy-host.example.com-access_log common

        </VirtualHost>

      status:状态码,标记请求过程中发生的情况;

        100-101:信息提示;

        200-206:成功;

        300-305:重定向;

        400-415:客户端错误;

        500-505:服务器端错误;

          200:成功;OK

          301:请求的URL指向的资源已经被删除,但响应报文中通过首部Location指明了资源现在所处的新位置,Moved Permanently;

          302:与301相似,但在响应报文中指明临时新位置;Found

          304:客户端发出条件式请求,但服务器上的资源未曾发生改变;Not Modified

          401:需要输入账号密码认证;Unauthorized

          403:请求被禁止;Forbidden

          404:服务器无法找到客户端请求的资源;Not Found

          500:服务器内部错误;Internal Server Error

          502:代理服务器从后端服务器收到一条伪响应;Bad Getway

  • 相关阅读:
    word break II
    leetcode新题
    tensorflow数据读取过程
    python文本编辑: re.sub-------读取文本,去除指定字符并保存
    Anaconda安装及虚拟环境搭建教程(linux)
    语音合成
    关于Python错误提示: 'str' object is not callable
    语音识别学习阶段性总结(一)
    kaldi学习
    kaldi学习
  • 原文地址:https://www.cnblogs.com/houyongchong/p/8204599.html
Copyright © 2020-2023  润新知