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

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

hot3.png

11月15日任务

11.18 Apache用户认证

11.19/11.20 域名跳转

11.21 Apache访问日志

 

11.18 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 //指定需要认证的用户为全部可用用户
  •     </Directory>
  • </VirtualHost>
  •  /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd aming 
  •  重新加载配置-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

 

[root@zgxlinux-01 ~]# vim /usr/local/apache2.4.37/conf/extra/httpd-vhosts.conf 

b166d08a35abc8224ac0336c21b83b64369.jpg

[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/htpasswd -c -m /data/.htppasswd zhangguoxiang     #-c 创建    -m 表示md5加密

e2e212eb9f02f6d12fd0efef90b6c9182f4.jpg

[root@zgxlinux-01 ~]# cat /data/.htppasswd 

zhangguoxiang:$apr1$RKbRex0f$R0QtyiT0EuEsfJmxwSwhl0
[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/htpasswd -m /data/.htppasswd zhangsan        #这时候不需要指定-c 因为这个文件已经创建过
New password: 
Re-type new password: 
Adding password for user zhangsan
[root@zgxlinux-01 ~]# cat /data/.htppasswd 
zhangguoxiang:$apr1$RKbRex0f$R0QtyiT0EuEsfJmxwSwhl0
zhangsan:$apr1$q/7YWXFI$OQJYI5OfO8in3KdDYi.Eo1
[root@zgxlinux-01 ~]#  /usr/local/apache2.4.37/bin/apachectl -t
Syntax OK
[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl graceful
[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl graceful
[root@zgxlinux-01 ~]# curl -x127.0.0.1:80 111.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>

 

c7413ac9fd84a812651becd44faa376a99c.jpg

#针对单文件操作

  • 还可以针对单个文件进行认证
  • <VirtualHost *:80>
  •     DocumentRoot "/data/wwwroot/www.123.com"
  •     ServerName www.123.com
  •     <FilesMatch admin.php>
  •         AllowOverride AuthConfig
  •         AuthName "123.com user auth"
  •         AuthType Basic
  •         AuthUserFile /data/.htpasswd
  •         require valid-user
  •     </FilesMatch>
  • </VirtualHost>

3d3a9ace7c80f4412de2ab05b14f1e2cbe1.jpg

#创建一个123pho

[root@zgxlinux-01 ~]# vim /data/wwwroot/111.com/123.php

27a5dc532f7d6b432c1e510ab6c2c4ebbd7.jpg

0a740572c80fc367b3eaeccde3fbfba82a4.jpg

fb437f08e50a969b8160698940ac4156869.jpg

 

11.19 、域名跳转

  • 需求,把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) 前面的#
  •  curl -x127.0.0.1:80 -I 123.com //状态码为301

#编辑配置文件 /usr/local/apache2.4.37/conf/extra/httpd-vhosts.conf   ,301表示永久跳转

f2f871da9df1287ad45d058db2325ad25ee.jpg

[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl -t

Syntax OK
[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl graceful

[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl -M |grep rewrite

[root@zgxlinux-01 ~]# vim /usr/local/apache2.4.37/conf/httpd.conf   #修改配置文件,注释这一行,加载module模块。
14fd975a1df93cf13c4f491a6c926d4df59.jpg

[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl -M |grep rewrite

 rewrite_module (shared)

[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl -t

Syntax OK
[root@zgxlinux-01 ~]# /usr/local/apache2.4.37/bin/apachectl graceful
[root@zgxlinux-01 ~]# curl -x192.168.56.128:80 2111.com.cn -I     #-I表示不显示结果而显示状态码
HTTP/1.1 301 Moved Permanently
Date: Sat, 17 Nov 2018 09:43:04 GMT
Server: Apache/2.4.37 (Unix) PHP/5.6.32
Location: http://www.111.com/
Content-Type: text/html; charset=iso-8859-1

[root@zgxlinux-01 ~]# curl -x192.168.56.128:80 2111.com.cn 

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.111.com/">here</a>.</p>
</body></html>

 

11.21 、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 

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

         <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_lo

 

[root@zgxlinux-01 ~]# ls /usr/local/apache2.4.37/logs/

111.com-access_log  abc.com-access_log  access_log  httpd.pid
111.com-error_log   abc.com-error_log   error_log

[root@zgxlinux-01 ~]# vim /usr/local/apache2.4.37/conf/httpd.conf

2b34ebd75309b6c3b158127f1c64600e7f0.jpg

[root@zgxlinux-01 ~]# vim /usr/local/apache2.4.37/conf/extra/httpd-vhosts.conf 

c71990470efe87c9e2f9e51b279eb901bfb.jpg

 

2a3f2ffa39db3eb8869f8576fc5c0670c20.jpg

转载于:https://my.oschina.net/u/3959708/blog/2877575

你可能感兴趣的文章
CentOS6 DNS解析缓慢 SSH登录缓慢 问题解决
查看>>
关于s5pv210主Makefile部分代码的分析和小的修改
查看>>
shell脚本之Apache的配置
查看>>
链路均衡设备的NAT和ipsec ***
查看>>
Saltstack之系统初始化
查看>>
第二篇:数组
查看>>
vSphere容量规划
查看>>
从纪念碑谷的收益看小而美的游戏的盈利困境
查看>>
python的cls,self,classmethod,staticmethod
查看>>
MySQLdb for Python使用指南/Python的数据库操作
查看>>
ACM之反转字符串里的单词
查看>>
win8换win7安装之选中的的磁盘采用GPT分区形式解决方法
查看>>
会计从业资格证考试教学大全
查看>>
Java——线程回顾汇总:同步/生产者消费者模式/定时调度
查看>>
洛谷——P1962 斐波那契数列
查看>>
洛谷——P2908 [USACO08OPEN]文字的力量Word Power
查看>>
CentOS下NFS安装与配置 Centos5.3下安装配置NFS linux下安装配置NFS
查看>>
WebSphere在Linux下的安装过程
查看>>
Vagrant 快速入门
查看>>
Shell文本处理三剑客(三)
查看>>