http的用户认证,域名跳转,访问日志

httpd的用户认证

  • 网站的特殊页面需要二级认证
  • vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //编辑111.com虚拟主机

    <VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    <Directory /data/wwwroot/111.com> #//指定认证的目录
        AllowOverride AuthConfig #//这个相当于打开认证的开关
        AuthName "111.com user auth" #//自定义认证的名字,作用不大
        AuthType Basic #//认证的类型,一般为Basic,其他类型阿铭没用过
        AuthUserFile /data/.htpasswd  #//指定密码文件所在位置
        require valid-user #//指定需要认证的用户为全部可用用户
    </Directory>
    </VirtualHost>
  • /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd aming //创建/data/.htpasswd密码文件,并加入用户aming,设置密码为MD5加密。
    [[email protected] ~]#  /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd aming
    New password:
    Re-type new password:
    Adding password for user aming
    [[email protected] ~]# cat /data/.htpasswd
    aming:$apr1$IcrnKsgm$peDVR4iChx.0E9/zaD.HK.
  • /usr/local/apache2.4/bin/apachectl -t
  • /usr/local/apache2.4/bin/apachectl graceful
  • 测试
    [[email protected] ~]# curl -x127.0.0.1:80 -uaming:123456 111.com
    111.com[[email protected] ~]# curl -x127.0.0.1:80 111.com -I
    HTTP/1.1 401 Unauthorized   ##401表示这个页面需要用户认证
    Date: Mon, 31 Jul 2017 15:03:56 GMT
    Server: Apache/2.4.27 (Unix) PHP/7.1.6
    WWW-Authenticate: Basic realm="111.com user auth"
    Content-Type: text/html; charset=iso-8859-1
    [[email protected] ~]# curl -x127.0.0.1:80 -uaming:123456 111.com
    111.com[[email protected] ~]# 
  • 对单个文件进行认证
    <VirtualHost *:80>
    DocumentRoot "/data/wwwroot/www.123.com"
    ServerName www.123.com
    <FilesMatch admin.php>          #//对admin.php页面进行认证
        AllowOverride AuthConfig
        AuthName "123.com user auth"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </FilesMatch>
    </VirtualHost>
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful
[[email protected] ~]# curl -x127.0.0.1:80 111.com/admin.php -I
HTTP/1.1 401 Unauthorized
Date: Mon, 31 Jul 2017 15:26:10 GMT
Server: Apache/2.4.27 (Unix) PHP/7.1.6
WWW-Authenticate: Basic realm="111.com user auth"
Content-Type: text/html; charset=iso-8859-1
[[email protected] ~]# curl -x127.0.0.1:80 -uaming:123456 111.com/admin.php
admin.php[[email protected] ~]# 

域名跳转

  • 需求,把123.com域名跳转到www.123.com,配置如下:

    <VirtualHost *:80>
    DocumentRoot "/data/wwwroot/www.123.com"
    ServerName www.123.com
    ServerAlias 123.com
    <IfModule mod_rewrite.c> //需要mod_rewrite模块支持
        RewriteEngine on  //打开rewrite功能
        RewriteCond %{HTTP_HOST} !^www.123.com$  //定义rewrite的条件,主机名(域名)不是www.123.com满足条件
        RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行
    </IfModule>
    </VirtualHost> 
  • /usr/local/apache2/bin/apachectl -M|grep -i rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#
  • 重新加载配置-t , graceful
  • curl -x127.0.0.1:80 -I 123.com //状态码为301永久跳转,302临时跳转,401需要验证,404页面不存在,403未授权,

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

  • vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    默认是common,改为combined,h来源ip,u用户,t是时间,r行为,s是状态码,b是大小,Referer是进入当前页面得上一个页面得地址,User-Agent用户代理
    即用户使用的浏览器,curl命令等
  • 把虚拟主机配置文件改成如下:
    <VirtualHost *:80>
    DocumentRoot "/data/wwwroot/www.123.com"
    ServerName www.123.com
    ServerAlias 123.com
    CustomLog "logs/123.com-access_log" combined
    </VirtualHost>
  • 重新加载配置文件 -t,graceful
  • curl -x127.0.0.1:80 -I 123.com
  • tail /usr/local/apache2.4/logs/123.com-access_log

扩展

原文地址:http://blog.51cto.com/akui2521/2121886

时间: 2024-09-29 21:03:28

http的用户认证,域名跳转,访问日志的相关文章

5.Apache用户认证,域名跳转,访问日志

[toc] Apache用户认证 11.18 Apache用户认证 用户认证功能就是在用户访问网站的时候,需要输入用户名密码才能进行访问.一些比较好总要的站点和网站后台都会加上用户认证,以保证安全. 1.下面对xavi.com站点来做一个全站的用户认证: vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把xavi.com那个虚拟主机编辑成如下内容 <VirtualHost *:80> DocumentRoot "/dat

apache 配置用户认证 域名跳转 日志 静态缓存文件 防盗链接

配置文件:/usr/local/apache2/conf/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/data/www" ServerName www.1.com ServerAlias www.a.com www.b.com #配置用户认证 <Directory /data/www> AllowOverride AuthConfi

4.13 apache用户认证,跳转和访问日志

Apache用户认证 有的网站在访问的时候需要我们输入账户名和密码,这样做的好处是增加了安全性,但是用户体验会很差.但是在我们在工作中还需要在一些重要的地方做一些安全认证. 首先我们编辑虚拟主机的配置文件 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf我们用第二个虚拟主机做实验,然后在 ServerName下面下上如下的内容<Directory /data/wwwroot/123.com> //指定认证的目录(这里的网址要和前面配置文

Apache配置用户认证、域名跳转、日志轮询、静态文件缓存、防盗链

使用版本为httpd-2.2.29 源码编译安装环境. 1.配置网站用户认证 编辑虚拟机主机配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf,在虚拟主机配置文件段内加入绿色标示代码: <VirtualHost *:80> DocumentRoot "/data/www" ServerName www.123.com ServerAlias www.a.com www.b.com     <Directory *&

用户认证,域名跳转以及日志

Apache用户认证 1.修改虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.example.com <Directory /data/wwwroot/111.com

apachey用户认证,域名跳转,日志

apache 网站用户认证编辑配置文件第一个是默认虚拟主机修改第二个虚拟主机生成密码文件 并创建用户 -m 加密类型 -c 创建 /data 文件位置重新加载配置文件访问主机 401报错 需要用户认证针对某一个单个文件修改配置文件访问限制文件时显示401域名跳转301 永久跳转虚拟主机配置文件mod_rewrite COND 定义条件rewriterule 定义规则 L表示只跳一次302临时重定向测试80监听全网 :::表示都可以-I 表示只看状态码 不看内容自动跳转到111.com 404这个

Linux学习总结(四十)lnmp之nginx安装 用户认证 域名重定向

1 nginx 介绍 Nginx官网 nginx.org,最新版1.13,最新稳定版1.12 Nginx应用场景:web服务.反向代理.负载均衡Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty 2 nginx 安装 cd /usr

Apache配置域名跳转、日志切割、静态缓存、防盗链、访问控制

·/usr/local/apache2/bin/apachectl  -M:查看安装了哪些模块 ·/usr/local/apache/bin/apachectl   -V:查看使用的模式 ·/usr/local/apache2/bin/apachectl  -t:检查语法错误 ·/usr/local/apache2/bin/apachectl  -l:查看安装的库文件 ·/usr/local/apache2/bin/apachectl graceful:重新加载配置 ·/usr/local/ap

apache配置-域名跳转、日志切割、静态缓存、防盗链

·/usr/local/apache2/bin/apachectl -M:查看安装了哪些模块     ·/usr/local/apache2/bin/apachectl -t:检查语法错误 ·/usr/local/apache2/bin/apachectl -l:查看安装的库文件 ·/usr/local/apache2/bin/apachectl graceful:重新加载配置·/usr/local/apache2/htcocs         主页存放目录 ·/usr/local/apache

Linux -- Samba用户认证

 用户认证 作为一个功能强大的文件服务器软件,Samba提供了丰富的用户认证方式用于管理访问其共享资源的用户. 客户端在访问时,Samba服务器根据全局配置中的参数选择合适的认证方式以及认证用户来源进行认证.Samba服务器认证用户来源可以基于Samba服务器本身的用户信息,也可以基于Windows活动目录中的用户信息. 虽然Samba服务器运行在Linux平台,但Samba服务器认证用户来源并不能直接读取/etc/passwd中的用户及密码信息.如果希望Samba服务器认证用户信息来自其所在系