分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

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

发布时间:2023-09-06 01:31责任编辑:蔡小小关键词:apache
一、apache用户认证

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

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

编辑内容如下

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

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

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

<IfModulemod_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)


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

原文地址:http://blog.51cto.com/13407306/2052450

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved