博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache用户认证、域名跳转、Apache访问日志
阅读量:5984 次
发布时间:2019-06-20

本文共 6304 字,大约阅读时间需要 21 分钟。

11.18 Apache用户认证

  • 编辑httpd-vhosts.conf配置文件
[root@taoyuan ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf #内容参数如下:
DocumentRoot "/data/wwwroot/123.com" ServerName 123.com
AllowOverride AuthConfig AuthName "123.com user auth" AuthType Basic AuthUserfile /data/.htpasswd require valid-user
ServerAlias www.123.com ErrorLog "logs/123.com-error_log" CustomLog "logs/123.com-access_log" common
#含义说明
#指定认证的目录 AllowQverride AuthConfig #这个相当于打开认证的开关 AuthName "123.com user auth" #自定义认证的名字,作用不大 AuthType Basic #认证 的类型,一般为Basic AuthUserFile /data/.htpasswd #指定密码文件所在位置 require valid-user #指定需要认证的用户为全部可用用户
  • 密码生成器
[root@taoyuan ~]# /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd ayun# -c 表示创建  -m 指定MD5加密 指定所在位置  如果再次增加用户可以不用-c选项,-c是首次创建文件使用的[root@taoyuan ~]# cat /data/.htpasswdayun:$apr1$0bRU1d91$qRqDfW4bvxeHhShhtSCKs1
  • htpasswd命令介绍

    htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
    语法: htpasswd [option] [参数]
    Options:
    -c:=create,创建一个加密文件
    -n:不更新加密文件,只将更新后的用户名密码显示在屏幕上
    -m:使用MD5算法对密码进行加密(默认)
    -d:使用CRYPT算法对密码进行加密
    -p:不对密码进行加密,即明文密码
    -s:使用SHA算法对密码进行加密
    -b:在命令行一并输入用户名和密码,而不是根据提示输入密码
    -D:删除指定用户

  • -t && graceful
[root@taoyuan ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@taoyuan ~]# /usr/local/apache2.4/bin/apachectl graceful
  • 浏览器测试

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

  • curl测试
[root@localhost ~]# curl -x127.0.0.1:80 www.123.com -IHTTP/1.1 401 Unauthorized #状态码401Date: Thu, 21 Dec 2017 02:49:11 GMTServer: Apache/2.4.28 (Unix) PHP/7.1.6WWW-Authenticate: Basic realm="123.com user auth"Content-Type: text/html; charset=iso-8859-1#此时提示状态码为“401”,说明当前所访问的内容需要进行用户认证。# -u 验证用户和密码[root@localhost ~]# curl -x127.0.0.1:80 -uayun:ayunayun www.123.com -IHTTP/1.1 200 OKDate: Thu, 21 Dec 2017 02:50:23 GMTServer: Apache/2.4.28 (Unix) PHP/7.1.6X-Powered-By: PHP/7.1.6Content-Type: text/html; charset=UTF-8#状态码“200”,即访问成功。

对网站中指定文件设置用户认证

  • 配置httpd-vhosts.conf文件
#ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/data/wwwroot/123.com" ServerName 123.com #
注释Directory标签
#改成FilesMatch标签 AllowOverride AuthConfig AuthName "123.com user auth" AuthType Basic AuthUserfile /data/.htpasswd require valid-user
#
ServerAlias www.123.com ErrorLog "logs/123.com-error_log" CustomLog "logs/123.com-access_log" common
#创建123.php文件[root@taoyun ~]# echo '
' > /data/wwwroot/123.com/123.php
  • 检测
#检测配置文件是否错误[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK#重新加载配置文件[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful#cur测试[root@localhost ~]# curl -x127.0.0.1:80 123.com123.com[root@localhost ~]# [root@localhost ~]# curl -x127.0.0.1:80 123.com/123.php -IHTTP/1.1 401 UnauthorizedDate: Thu, 21 Dec 2017 03:11:17 GMTServer: Apache/2.4.28 (Unix) PHP/7.1.6WWW-Authenticate: Basic realm="123.com user auth"Content-Type: text/html; charset=iso-8859-1#访问123.com/目录下的123.php 报错:401,需要用户认证#使用制定用户名&密码访问[root@localhost ~]# curl -x127.0.0.1:80 -uayun:ayunayun 123.com/123.php

123.php


www.123.com/123.php

[root@localhost ~]#

浏览器访问

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

注:在访问123.php时,需要输入认证用户名&密码。

11.19-11.20 域名跳转

  • 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。
  • 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。
  • SEO(Search Engine Optimization)搜索引擎优化,在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的预期目标。
    配置域名跳转
#配置文件[root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf #配置参数
DocumentRoot "/data/wwwroot/123.com" ServerName 123.com
#需要mod_rewrite的支持 RewriteEngine on #开启rewrite功能 RewriteCond %{HTTP_HOST} !^123.com$ #Cond=condition,定义rewrite条件:所有非123.com的主机名(域名) RewriteRule ^/(.*)$ http://123.com/$1 [R=301,L] #定义rewrite规则:当满足上面条件时才执行当前规则,即跳转到111.com。
ServerAlias www.abc.com ErrorLog "logs/123.com-error_log" CustomLog "logs/123.com-access_log" common
  • 检查
检查系统配置[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful#检查Apache是否加载了配置中调用的rewrite模块,如果没有加载,需要编辑Apache配置文件“httpd.conf”LoadModule alias_module modules/mod_alias.soLoadModule rewrite_module modules/mod_rewrite.so  #注释去掉LoadModule php7_module        modules/libphp7.so查看是否有加载模块[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite rewrite_module (shared)
  • curl检测
[root@localhost ~]# curl -x127.0.0.1:80 www.abc.com -IHTTP/1.1 301 Moved PermanentlyDate: Thu, 21 Dec 2017 03:46:09 GMTServer: Apache/2.4.28 (Unix) PHP/7.1.6Location: http://123.com/Content-Type: text/html; charset=iso-8859-1

状态码为301,即设定了域名永久跳转

在浏览器进行检测时,访问“www.example.com”会直接跳转到“123.com”。

11.21 Apache访问日志

  • 日志文件所在目录
[root@localhost ~]# ls /usr/local/apache2.4/logs111.com-access_log  123.com-access_log  access_log  httpd.pid111.com-error_log   123.com-error_log   error_log#查看日志记录[root@taoyun ~]# cat /usr/local/apache2.4/logs/abc.com-access_log 192.168.1.222 - - [05/Jan/2018:16:09:39 +0800] "GET /favicon.ico HTTP/1.1" 404 209192.168.1.222 - - [05/Jan/2018:16:09:40 +0800] "GET /.php HTTP/1.1" 404 202192.168.1.222 - - [05/Jan/2018:16:09:47 +0800] "GET /index.html HTTP/1.1" 404 208192.168.1.222 - - [05/Jan/2018:16:09:50 +0800] "GET /index.html HTTP/1.1" 404 208192.168.1.222 - - [05/Jan/2018:16:12:35 +0800] "GET /favicon.ico HTTP/1.1" 404 209192.168.1.222 - - [05/Jan/2018:16:12:35 +0800] "GET /favicon.ico HTTP/1.1" 404 209
  • 自定义日志格式
#文件路径[root@taoyun ~]# vim /usr/local/apache2.4/conf/httpd.conf#参数注解    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined    LogFormat "%h %l %u %t \"%r\" %>s %b" common        #h表示host来源IP        #l表示login用户        #u表示user用户密码        #t表示time时间        #r表示request(行为)        #s表示status状态码        #b表示byte大小#user-agent:用户代理#referer:跳转到当前位置的上一个网址(即:提供当前IP的网站)即:有combine和common两种格式,默认使用common模式

截图如下:

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

  • 配置日志格式

编辑配置文件“httpd-vhosts.conf”

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

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

重新加载

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -tSyntax OK[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful
  • cat /usr/local/apache2.4/logs/123.com-access_log
    Apache用户认证、域名跳转、Apache访问日志

转载于:https://blog.51cto.com/3622288/2058618

你可能感兴趣的文章
python 中的multiprocessing 模块
查看>>
Linux网卡,IP配置
查看>>
晶振在电路设计时关于负载电容CL大小取值特别需要注意什么?
查看>>
矩阵快速幂 POJ 3070 Fibonacci
查看>>
docker 发布应用时添加 git revision
查看>>
P2979 [USACO10JAN]奶酪塔Cheese Towers
查看>>
uva 11504(强连通分支)
查看>>
C#中HashTable的使用
查看>>
英特尔® 实感™ 摄像头 (F200) 应用如何实现最佳用户体验
查看>>
一次thinkphp框架 success跳转卡顿问题的解决
查看>>
C语言之结构体
查看>>
Mysql5.6 for Centos6.5源码编译安装
查看>>
查看 linux cpu 、内存、服务器型号和序列号、磁盘、raid 的信息
查看>>
sencha touch学习心得之FormPanel
查看>>
1.扩展方法2.接口的隐式实现和显式实现
查看>>
HDU题目分类
查看>>
HDU - 3085 Nightmare Ⅱ
查看>>
kafka java api消费者
查看>>
将某个目录下的所有文件进行压缩
查看>>
hadoop之Combiner
查看>>