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

Stella981
• 阅读 713

11月15日任务

11.18 Apache用户认证
11.19/11.20 域名跳转
11.21 Apache访问日志

1.Apache用户认证

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

  •  vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容
  • <VirtualHost *:80>    
  • DocumentRoot "/data/wwwroot/www.123.com"
  •  ServerName www.123.com    
  • <Directory /data/wwwroot/www.123.com> //指定认证的目录        
  • AllowOverride AuthConfig //这个相当于打开认证的开关        
  • AuthName "123.com user auth" //自定义认证的名字,作用不大        
  • AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过        
  • AuthUserFile /data/.htpasswd  //指定密码文件所在位置        
  • require valid-user //指定需要认证的用户为全部可用用户    
  •  
  • /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd aming  用Apache自带的密码工具生成一个密码
  • 重新加载配置-t , graceful  
  • 绑定hosts,浏览器测试  
  • curl -x127.0.0.1:80 www.123.com //状态码为401  
  • curl -x127.0.0.1:80 -uaming:passwd www.123.com //状态码为200 指定用户名和密码

实验:一

  • 编辑vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容

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

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

  • 生成密钥,-m 是指定加密类型,-c是创建

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

  • 重新加载一下

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

  • 访问一下,提示要用户认证

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

  • -u 指定用户认证密码与用户

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

实验:二

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

  • 还可以针对单个文件进行认证

  • <VirtualHost *:80>    

  • DocumentRoot "/data/wwwroot/www.123.com"

  •     ServerName www.123.com    

  •        

  • AllowOverride AuthConfig        

  • AuthName "123.com user auth"        

  • AuthType Basic        

  • AuthUserFile /data/.htpasswd        

  • require valid-user    

  • 配置更改一下

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

  • 重新加载一下

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

  • 编辑一下123.PHP文件

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

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

  • 访问其他的不会401,访问123.php才会认证

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

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

2. 域名跳转

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

  • 需求,把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规则,当满足上面的条件时,这条规则才会执行
  •  
  • /usr/local/apache2/bin/apachectl -M|grep -i rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#  
  • curl -x127.0.0.1:80 -I 123.com //状态码为301

实验:一

  • 编辑一下配置

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

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

  • 重新加载一下

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

  • 检查这个模块是否加载,没有加载的话,就编辑这个文件

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

  • /rewrite 搜索一下,取消#号,打开模块

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

  • 重新加载一下这个模块

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

  • 测试一下,301就表示是域名跳转的

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

3.Apache访问日志

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

示例一:

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

  • vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat

  • LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 会记录referer和user-agent。

  • LogFormat "%h %l %u %t \"%r\" %>s %b" common  简单记录日志

  • 把虚拟主机配置文件改成如下:  

  • <VirtualHost *:80>    

  • DocumentRoot "/data/wwwroot/www.123.com"

  • ServerName www.123.com    

  • ServerAlias 123.com    

  • CustomLog "logs/123.com-access_log" combined  定义为记录referer和user-agent格式的日志

  •  

  • 重新加载配置文件 -t,graceful  

  • curl -x127.0.0.1:80 -I 123.com  

  • tail /usr/local/apache2.4/logs/123.com-access_log

  • 查看一下logs日志

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

  • /LogFormat 搜索一下,日志的格式

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
41.Apache用户认证及访问日志 域名跳转
11.18Apache用户认证11.19/11.20域名跳转11.21Apache访问日志扩展 apache虚拟主机开启php的短标签 http://ask.apelearn.com/question/5370(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fask.
Wesley13 Wesley13
3年前
LAMP架构之用户认证、域名跳转及访问日志
本文索引:Apache用户认证针对目录针对单个文件设置域名跳转基本知识介绍如何配置Apache访问日志apache用户认证针对目录先确保主配置文件内开启了虚拟主机服务root@localhost~
Stella981 Stella981
3年前
Apache用户认证、域名跳转、Apache访问日志
11.18Apache用户认证注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名。配置用户认证编辑虚拟主机配置文件“httpdvhosts.conf”。root@adailinux~vim/usr/local/apache2
Stella981 Stella981
3年前
Apache用户认证、域名跳转、访问日志格式
11.18Apache用户认证注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名。配置用户认证编辑虚拟主机配置文件“httpdvhosts.conf”。root@1~vim/usr/local/apache2.4/conf/
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这