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
httpd配置的更多相关文章
- centos7 httpd配置
centos7 httpd配置 标签(空格分隔): 未分类 隐藏server信息 修改httpd.conf 设置,添加如下两行 ServerSignature Off ServerTokens Pro ...
- httpd配置.md
httpd-2.2 配置 监听端口和IP 配置文件: Listen [IP:]PORT 省略IP表示为0.0.0.0 Listen指令可重复出现多次 修改监听socket,重启服务进程方可生效 可以监 ...
- 负载均衡之Haproxy配置详解(及httpd配置)
下图描述了使用keepalived+Haproxy主从配置来达到能够针对前段流量进行负载均衡到多台后端web1.web2.web3.img1.img2.但是由于haproxy会存在单点故障问题,因此使 ...
- httpd配置Gzip压缩
以下设置在 /etc/httpd/conf/httpd.conf 文件末尾加入即可.(不同方式安装的httpd可能主配置文件位置不同,请自行查找) 一.mod_deflate模块:文件压缩 官方文档: ...
- httpd配置ResponseHeader
今天遇到一个问题:我把项目编译后的静态文件发布到开发机上,开发机使用httpd启的静态文件服务,页面的访问是在特制的壳浏览器里面,我更新了代码后,发现页面被缓存了,找到壳的RD联调了一下,发现我的主页 ...
- 利用httpd配置虚拟目录创建下载站点
应用环境:通常放置一些文件来提供下载. 配置环境:centos7 //已经关闭Selinux和Firewall 需求假设:在网页输入主机IP并进入,会显示主机目录/home/share/的文件以提供下 ...
- Centos6.8上httpd配置腾讯云SSL证书
(1)先按装mod_ssl yum -y install mod_ssl /etc/httpd/conf.d/下会有一个ssl.conf的文件,打开 a)检测本地证书配置是否正确 主要是看下证书及密钥 ...
- CentOS 使用httpd 配置局域网 yum源
1.上传centos iso而且挂载 mkdir /mnt/cdr/iso mount -o /xxx.iso /mnt/cdr 2.使用createrepo来创建repo文件 cd /mnt/cdr ...
- Linux使用httpd配置反代理
Linux安装httpd请看上一篇:https://www.cnblogs.com/tuituji27/p/11189095.html 首先,httpd默认监听端口号是80,增加或修改代理的端口号的文 ...
随机推荐
- R语言绘制茎叶图
与直方图相比,茎叶图更能细致的看出数据分布情况! 代码: > x<-c(25, 45, 50, 54, 55, 61, 64, 68, 72, 75, 75,+ 78, 79, 81, 8 ...
- iOS数据存储-钥匙串存储
2017.11.20 14:41* 字数 227 阅读 678评论 0喜欢 0 钥匙串介绍 1. 表示设备唯一号的标识,在IOS7中要么被禁止使用,要么重新安装程序后两次获取的标识符不一样. 2. ...
- Django 中的Form表单认证
一.Form表单 1.1 Form的几个功能 验证用户数据(显示错误信息) 初始化页面显示内容 HTML Form提交保留上次提交数据 生成HTML标签 1.2 创建表单类Form 1. 创建 ...
- 使用HDTune规避硬盘上损坏的扇区
如何使用HDTune扫描磁盘上的错误在网上已经有很多帖子了,但扫描到之后如何用HDTune来规避硬盘上损坏的扇区呢? HDTune并不能直接规避,而是需要重新划分磁盘的卷.HDTune一行有50个小方 ...
- Linux的基本解读
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统 而严格来讲,Linux这个词本身只表示Linux内核,但实际上人 ...
- MyBatis映射文件1(增删改、insert获取自增主键值)
增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Em ...
- 国内的go get问题的解决
在国内采用go get有时会下载不到一些网站如golang.org的依赖包. 方法1(亲测有效): gopm 代替go 下载第三方依赖包可以采用gopm从golang.org一些镜像网站上下载. 注意 ...
- php分割中文字符串为数组的简单例子
近日在做东西时,遇到要把中文字符进行逐字分割,试了很多方法,都不行,后来发现了一个超简单的方法: 分割字符串很简单,主要是用到函数preg_match_all.当处理含有中文的字符串时,可以用如下的方 ...
- Django restframework之Token验证的缺陷及jwt的简单使用
一.主要缺陷: 1.Token验证是放在一张表中,即authtoken_token中,key没有失效时间,永久有效,一旦泄露,后果不可想象,安全性极差. 2.不利于分布式部署或多个系统使用一套验证,a ...
- Linux在shell中进入python敲方向键出现「^[[C^[[D」的解决办法
安装yum -y install readline-devel,然后在重新编译python