LAMP架构(apache用户认证,域名重定向,apache访问日志)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
+关注继续查看

一、apache用户认证

用户认证就是打开一个网站。会让你输入用户名和密码。对了才会让你访问HTTP,

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

编辑内容如下

<Directory /data/wwwroot/www.123.com> //指定认证的目录

        AllowOverride AuthConfig //这个相当于打开认证的开关

        AuthName "123.com user auth" //自定义认证的名字,作用不大

        AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过

        AuthUserFile /data/.htpasswd  //指定密码文件所在位置

        require valid-user //指定需要认证的用户为全部可用用户

    </Directory>


/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd lty     使用apache的内置文件生成htpasswd -c 创建 -m mk5加密

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t           检查语法错误

Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl  graceful     重新加载配置文件


[root@localhost ~]# curl -x127.0.0.1:80 111.com -I

HTTP/1.1 401 Unauthorized

Date: Mon, 20 Nov 2017 06:31:55 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1


[root@localhost ~]# curl -x127.0.0.1:80 111.com -I

HTTP/1.1 401 Unauthorized                 (401说明要做用户验证)

Date: Mon, 20 Nov 2017 06:32:01 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1

用浏览器访问发现需要做用户认证


也可以对单个文件做用户认证

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

编辑如下:

#<Directory /data/wwwroot/111.com> 

<FilesMatch 111.php>

~

~

~

</FilesMatch>

#</Directory>

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t           检查语法错误

Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl  graceful     重新加载配置文件

[root@localhost ~]# curl -x127.0.0.1:80 111.com/111.php -I

HTTP/1.1 401 Unauthorized                    

Date: Mon, 20 Nov 2017 06:49:16 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1


二、域名重定向

域名跳转,也叫域名重定向

[root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

 <IfModule mod_rewrite.c>      //需要mod_rewrite模块支持

   RewriteEngine on  //打开rewrite功能

   RewriteCond %{HTTP_HOST} !^111.com$  //定义rewrite的条件,主机名(域名)不是111.com满足条件

   RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]      //定义rewrite规则,当满足上面的条件时,这条规则才会执行,301表示永久跳转,临时                                                         跳转302,L表示跳转一次

</IfModule>

查看有没有加载模块rewrite.so

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite

如果没有,修改httpd配置文件

149    #LoadModule rewrite_module modules/mod_rewrite.so   去掉#号


[root@localhost ~]# curl -x127.0.0.1:80 2111.com.cn -I

HTTP/1.1 301 Moved Permanently               (状态为301,永久跳转)

Date: Mon, 20 Nov 2017 08:05:07 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

Location: http://111.com/

Content-Type: text/html; charset=iso-8859-1


三、apache访问日志

访问日志:会记录用户的每一个请求

cat /logs/

默认的日志格式:

来源的ip.时间,行为,访问域名,httpd版本,状态码,大小

修改日志格式;

vim /usr/local/apache/conf/httpd.conf

搜索/LogFormat    就是日志的格式

283    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 

284    LogFormat "%h %l %u %t \"%r\" %>s %b" common  默认日志格式

{User-Agent}用户代理:通过浏览器或者curl访问,最终获得网站内容,浏览器就是用户代理,

{Referer} 记录浏览器上一次所访问的网址是什么


vim /usr/local/apache/conf/extra/httpd-vhosts.conf

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access%Y%m%d.log 86400" 

combined                             (把访问日志这一行之前的common 改为combined)










本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2052450,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 监控 安全
奇安信基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志安全分析系统,查询平均提速 700%
Apache Doris 助力奇安信建设全新日志存储分析平台,提升系统安全性与快速响应能力!
奇安信基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志安全分析系统,查询平均提速 700%
|
4月前
|
存储 安全 数据挖掘
Apache Doris 助力中国联通万亿日志数据分析提速 10 倍
Apache Doris 助力联通实现万亿日志数据分析场景落地,存储降低 50%,性能提升10+倍
|
7月前
|
存储 Java Apache
Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
110 0
|
7月前
|
Dubbo Java 应用服务中间件
带你读《Apache Dubbo微服务开发从入门到精通》——七、 访问日志
带你读《Apache Dubbo微服务开发从入门到精通》——七、 访问日志
70 0
|
11月前
|
分布式计算 监控 Hadoop
日志分析实战之清洗日志小实例1:使用spark&Scala分析Apache日志
日志分析实战之清洗日志小实例1:使用spark&Scala分析Apache日志
215 0
日志分析实战之清洗日志小实例1:使用spark&Scala分析Apache日志
|
消息中间件 设计模式 缓存
Apache ShenYu 集成 RocketMQ 实时采集海量日志的实践
最佳实践 | 一起来了解 Apache ShenYu 如何集成 RocketMQ 实现日志的可观测性吧~
444 0
Apache ShenYu 集成 RocketMQ 实时采集海量日志的实践
|
Ubuntu 数据可视化 数据挖掘
【Elastic Engineering】Elastic:使用 Elastic Stack 来监督 Apache 日志及指标
在我之前的许多文章中,我基本上都已经讲到了这些方面的内容。在今天的文章中,我想针对一些开发还没有自己的系统,比如 centos 或 Ubuntu OS 来写一篇非常详细的文章
291 0
【Elastic Engineering】Elastic:使用 Elastic Stack 来监督 Apache 日志及指标
|
缓存 算法 应用服务中间件
[Apache,反向代理,日志,默认值,HTTP]Nginx日志配置详细教程
  nginx日志配置   nginx有一个非常灵活的日志记录模式。每个级别的配置可以有各自独立的访问日志。日志格式通过log_format命令来定义。ngx_http_log_module是用来定义请求日志格式的。   access_log指令   access_log path [format [buffer=size [flush=time]]];   access_log path format gzip[=level] [buffer=size] [flush=time];
327 0
|
Apache
Apache HttpClient库里的日志实现检测原理
Apache HttpClient库里的日志实现检测原理
100 0
Apache HttpClient库里的日志实现检测原理
|
移动开发 JSON Java
Apache HttpClient库的日志级别设置原理
Apache HttpClient库的日志级别设置原理
556 0
Apache HttpClient库的日志级别设置原理
热门文章
最新文章
相关产品
云迁移中心
推荐文章
更多
推荐镜像
更多