httpd-2.2的基础配置 /etc/httpd:ServerRoot conf/httpd.conf、conf.d/*.conf:配置文件 logs:日志文件 modules:模块文件 主配置文件:/etc/httpd/conf/httpd.conf directive value directive:不区分字符大小写;例如:ServerRoot; value:除了文件路径这外,大多数不区分字符大小写; ### Section 1: Global Environment 全局配置段 ### Section 2: ‘Main‘ server configuration 主服务配置选项 ### Section 3: Virtual Hosts 虚拟主机配置段 一般而言只用一个主服务配置或多个虚拟主机 (互斥选项 主服务和虚拟服务不能同时生效) 修改后生效: Reload service httpd reload (CentOS 6) restart:通常仅修改了监听的地址和端口; *********************************** ]# httpd -t 语法检查 *********************************** 1、修改监听的地址端口; Listen [IP:]PORT (1) 可定义多次; Listen 80 Listen 8080 (2) 省略IP,表示0.0.0.0; 本机配置的所有地址 2、持久连接 persistent connection:tcp连接建立后,资源获取完成不会断开连接,而是继续等待请求其它资源; 如何断开? 数量限制 时间限制 相关指令: KeepAlive On|Off 是否开启持久链接功能 默认off MaxKeepAliveRequests 100 一次链接最多能请求多少个资源 KeepAliveTimeout 15 一次联建最多存活多少秒 请求测试: ]$ telnet SERVER_IP PORT root无法用terlnet GET /test1.html HTTP/1.1 请求资源方法 资源url 及指定协议版本 http Host: SERVER_IP 主机ip地址 相应报文首部: HTTP/1.1 200 OK 相应码 200 Date: Tue, 14 Jun 2016 06:04:36 GMT 时间 Server: Apache/2.2.15 (CentOS) 服务器端程序 Last-Modified: Tue, 14 Jun 2016 03:34:43 GMT 标记请求资源最后修改的时间 ETag: "60102-10-53534af955806" Accept-Ranges: bytes Content-Length: 16 响应报文长度 Connection: close Content-Type: text/html; charset=UTF-8 资源类型和字符集 test1.html page (相应body) Connection closed by foreign host. (非持久链接 相应后既关闭连接) 3、MPM 定义httpd进程基于哪种某型相应用户请求 multipath processing module:多路处理模块; httpd-2.2的MPM机制不支持DSO机制,event为测试; httpd:prefork httpd.worker: worker httpd.event: event 修改启动的模块: restart生效 /etc/sysconfig/httpd HTTPD=/usr/sbin/httpd|httpd.worker|httpd.event 查看httpd程序的模块列表: 查看静态编译的模块: httpd -l 查看编译的所有模块: httpd -M ***************************************** 当使用profork模型时,主进程会预先生成几个空闲的子进程等待相应用户请求 MPM配置: prefork的配置 <IfModule prefork.c> StartServers 8 预先生成的子进程数量 MinSpareServers 5 最小空闲子进程 MaxSpareServers 20 最大空闲子进程 ServerLimit 256 相应用户请求的最大服务器进程数量 MaxClients 256 最大客户端数量 MaxRequestsPerChild 4000 </IfModule> worker的配置: 三级结构 <IfModule worker.c> StartServers 4 启动子进程数量 MaxClients 300 最大并发连接数(线程) MinSpareThreads 25 最少空闲线程数 MaxSpareThreads 75 最大空闲线程数 ThreadsPerChild 25 每一个子进程最大启动多少个线程 MaxRequestsPerChild 0每一个字进程最多能接受多少个请求(基于线程模型无法控制) </IfModule> 80, 500ms, 256 512*86400/80=55W PV 每个相应在500ms内完成 最大并发为256 一秒钟能相应512个 平均每天86400 除以每个页面的资源数量 80 得每天能相应的页面数量 (不代表高峰数据且不考虑带宽 实际意义不大) Page View UV: User View 有效用户 ***************************************** 4、DSO 动态模块装载 LoadModule指令 LoadModule Mod_Name modules/Module_File.so 相对路径,是相对于ServerRoot指令所定义的路径而言; 5、 ‘Main‘ Server 主web服务配置段 通常来讲,这两个配置段没有的指令会从主配置段继承配置,主服务器配置和虚拟服务器配置不可同时生效: (1)‘Main‘Server配置段(在单台服务器上存在单个站点提供服务) 定义服务器和主机必不可少的: ServerName FQDN:PORT 主服务器在主配置段里定义也可以(试验中在本机定义后,还要编辑/etc/hosts添加ip地址和FQDN对应关系才能在本机浏览器打开) DocumentRoot (路径映射) 6.站点资源访问控制 (可以在主配置文件或虚拟主机中生效) (1)基于文件系统 (2.2默认都可以访问 2.4默认不能访问) <Directory"/PATH/TO/SOME_DIR"> (针对文件夹做操作,配置内容只对该文件夹有效) ... </Directory> <File""> ...</File> (针对文件,只对容器内生效) <FileMatch "PATTERN"> ...</FileMatch> (针对被正则匹配的文件) (2)基于url路径 <Location "/PATH/TO/SOME_URL">...</Location>(对url访问控制) <LocationMatch "PATTERN">...</LocationMatch> (url的正则表达式) 目录中的常用选项: [1] Options:用于定义资源的展示方式;后跟以空白字符分隔的“选项”列表; Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews None All Indexes:允许索引; FollowSymLinks:允许跟踪符号链接; (允许指定的文件或路径是以软连接的形式存在,风险很大) SymLinksifOwnerMatch (原理同上,但文件或目录属主(运行httpd的用户)必须是符合要求,相比followsyslinks风险较小) ExecCGI:允许执行CGI脚本; (早期CGI可以有超级superID权限,除非网页用到此功能,否则尽量不开启) Includes:包含 略 如果一个站点没有主页又没有允许Indexes则显示403,但如果有其他url还是可以访问的. [2] AllowOverride [none|all|Fileinfo|authconfig|limit](用来控制哪些指令可以放在.htaccess中) httpd允许在网页文档的各目录下使用.htaccess文件实现单目录资源的访问控制;表示哪此指令可以存放于.htaccess文件中; 比如/data/web/目录下有.htaccess则编辑此文件则可实现访问控制,如果使用服务器性能急剧下降(必须搜索到此文件.当前目录没有则搜索上级目录) [3]order和llow/deny from (控制谁能在当前服务器获得资源) 基于IP地址的访问控制; order 用于定义allow和deny的生效次序; allow from all/IP/NETWORK/FQDN deny from all/IP/NETWORK/FQDN 来源地址格式: IP NetAddr:格式; 172.16; 172.16.0.0; 172.16.0.0/16; 172.16.0.0/255.255.0.0; FQDN DAMAIN order * , *(谁在后谁是默认法则) order deny,allow;deny是默认法则,没有说明allow的都是不允许的(安全) order allow, deny (如果没有deny的,都是allow(默认))-->>来源请求遵循最佳匹配法则机制;
deny和allow的次序是没有区别的(非order第一行),最优匹配法则:当一个主机访问时,看哪一条能最小匹配,哪一个就优先生效(172.16.100.67最小匹配deny,所以deny生效)
7.定义站点主页面 DirectoryIndex index.html index.html.var 可以多个值 自作而有搜索,如果没有查看是否options indexes返回索引列表,如果没有则返回403 8.定义路径别名: Alias /URL/ "/PATH/TO/SOME_DIR/" (URL只是个定义.并不一定非要是目录) 例: DocumentRoot "/data/web" 当访问http://www.zxtest.com/images/logo.jpg <-- /data/web/images/logo.jpg alias /images “/webdata/pictures/” http://www.zxtest.com/images/logo.jpg <-- /webdata/pictures/logo.jpg 9、日志设定 错误日志: ErrorLog logs/error_log 相对于/etc/logs (文件为超级连接,真正位置看超级连接的位置) LogLevel warn 日志等级 访问日志: LogFormat:定义日志信息格式; CustomLog:指明日志文件路径及日志格式; 格式: %h Remote host 远程主机 %l Remote logname (from identd, if supplied). 远程登录名 %u Remote user (from auth; may be bogus if return status (%s) is 401) 用户名 %t Time the request was received (standard english format) 收到请求的时间 %r First line of request 请求报文的首行 %s Status. For requests that got internally redirected, this is the status of the *original* request --- %>s for the last. 相应状态码? %b Size of response in bytes, excluding HTTP headers. 主体部分大小(不包含首部) %{Foobar}i The contents of Foobar: header line(s) in the request sent to the server. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined(日志名称) 特殊颜色为取其某个报文首部的指定字段的值的 |
web服务_apache配置(2)v1.0
时间: 2024-12-11 15:48:42
web服务_apache配置(2)v1.0的相关文章
web服务_apache配置(3)v1.0
11.基于用户的访问控制 认证质询: WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码: 认证: Authorization:客户端用户填入账号和密码后再次发送请求报文:认证通过时,则服务器发送响应的资源: 认证方式有两种: basic:明文 digest:消息摘要认证 安全域:需要用户认证后方能访问的路径:应该通过名称对其进行标识,以便于告知用户认证的原因: 用户的账号和密码存放于何处? 虚拟账号:仅用于访问某服务时用到的认证标识 存储:(ttt
web服务安装配置
本文主要是以 CentOS 6系列为操作系统,来安装配置web服务,并实现虚拟用户,https,和基本的用户认证等相关内容. 写在前面: 操作系统: CentOS 6.5 服务器的IP: 172.16.10.9 httpd的版本:httpd-2.2.15 系列 SElINUX状态:disabled 下面开始安装配置旅程: 一.web的安装配置 1.安装:yum install httpd mod_ssl -y mod_ssl 是实现 https 协议时所依赖的包 2.配置文件的相关说明: 配置
Web服务Https配置和代码访问方法
一.Https方式及证书 Web服务使用Https方式需要SSL证书,证书可从两个渠道获取:公开可信认证机构申请或自己生成. 公开可信认证机构优势在于校验方便,但是会有租金. 自己生成工具成本低,但用浏览器访问时会提示风险,需要用户手动确认可信. Https还分单向认证和双向认证,单向认证只需要服务器端部署1份证书,双向认证要Client和Server端都有证书,而且还会增加Client和Server握手步骤. 单向认证已经能够满足传输数据的加密需求,所以登录服务器与客户端通讯采用自己生成SSL
Nginx作为WEB服务相关配置(性能优化,网络连接,访问控制,虚拟主机,https等等)
编译安装nginx yum -y install pcre-devel groupadd -r nginx useradd -g nginx -r nginx tar xf nginx-1.6.2.tar.gz cd nginx-1.6.2 ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf--user=nginx --group=nginx --error-log-path=/var/log/nginx
linux监控系统_Zabbix_agent_配置(4)V1.0
本次实验以Centos 7.2: Ip= 172.16.79.74******************************************************************************************agent可用端口: agent: IPMI: SNMP:强烈不推荐使用! JMX:**********************************************************************
Web安全开发规范手册V1.0
一.背景 团队最近频繁遭受网络攻击,引起了部门技术负责人的重视,笔者在团队中相对来说更懂安全,因此花了点时间编辑了一份安全开发自检清单,觉得应该也有不少读者有需要,所以将其分享出来. 二.自检清单 检查类型 说明 检查项 输入验证 概述 任何来自客户端的数据,如URL和参数.HTTP头部. Javascript戓其他嵌入代码提交的信息,都属于不可信数据.在应用外部边界或内部每个组件或功能边界,都将其当做潜在的恶意输入来校验 白名单 不可信数据可以设定白名单校验的,应接受所有和白名单匹配的数据,并
web服务_apache基础
http: http协议: http/0.9:原型版本: http/1.0:cache, MIME(multipupose internet Mail Extensions) method:GET.POST.HEAD.PUT.DELETE.TRACE.OPTIONS.... http/1.1:缓存功能大大增强 speedy:spdy http/2.0 80/tcp https协议: 443/tcp IANA: 0-1023:众所周知的,永久地分配给固定的应用使用:特权端口(仅root可用): 1
Lvs+keepalived安装配置(v1.0)
测试环境 系统:centos6.5_x86_64 主DR IP:192.168.1.216 备DR IP:192.168.1.218 VIP:192.168.1.253/254 real_server1:192.168.1.220 real_server2:192.168.1.219 一.安装ipvsadm 1.1 安装依赖包 yum -y install libnl-devel libnl popt popt-static 1.2 下载并安装ipvsadm wget http://www.
高性能Web服务之haproxy应用详解及实现论坛的动静分离机制
HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 下面通过案例架构详解HAproxy应用,架构图如下所示: 以上架构实现过程如下: (1).在node1,node