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

本文涉及的产品
.cn 域名,1个 12个月
日志服务 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,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
77 1
|
3月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
49 2
|
3月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
165 9
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
5月前
|
存储 开发框架 前端开发
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志
|
4月前
|
网络安全
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
|
5月前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
679 1
|
5月前
|
存储 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之滑动日志算法问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之滑动日志算法问题如何解决
|
5月前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​

推荐镜像

更多