您的位置:首页 > 运维架构 > Apache

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

2017-07-31 17:19 671 查看
扩展 :
apache虚拟主机开启php的短标签 http://www.aminglinux.com/bbs/thread-5370-1-1.html 1. 编辑第二个虚拟主机,设定Apache用户认证(访问网站需要用户密码认证):
[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
插入内容如下(设定指定网站访问认证参数如下,位置如图):
<Directory /data/wwwroot/111.com>
AllowOverride AuthConfig
AuthName "111.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>



2. -c自动创建生成密码文件,创建可访问用户名,自定义密码:
[root@hao-01 ~]# /usr/local/apache2.4/bin/htpasswd -c -m 密码文件 自定义用户
[root@hao-01 ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd hao
3. 第二次再建可访问用户名,自定义密码,不要再加-c选项,要不会覆盖掉密码文件:
[root@hao-01 ~]# /usr/local/apache2.4/bin/htpasswd -m /data/.htpasswd hao1
4. 查看密码文件:
[root@hao-01 ~]# cat /data/.htpasswd



5. 检测虚拟机配置文件是否有错误:
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t
6. 启动apache2.4/httpd:
[root@hao-01 apache2.4]# /usr/local/apache2.4/bin/apachectl start
7. 重新加载配置文件(不会重启服务)
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
8. curl 访问111.com,查看是否访问成功?报错如下:
[root@hao-01 ~]# curl -x127.0.0.1:80 111.com -I
报错 :401(用户认证加密访问受限了)
9. 打开windows系统找到hosts文件,笔记本格式打开编辑:
路径:C:\Windows\System32\drivers\etc

添加上虚拟主机2的设定:111.com



(记得保存hosts记事本)
10. 在windows上,检查Linux服务器ip的80端口是否打开:
C:\Users\主内安详>telnet 192.168.211.128 80



11. Linux服务器上打开80端口:
[root@hao-01 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
(关闭80端口:iptables -D INPUT -p tcp --dport 80 -j ACCEPT )
12. 再次在windows上,检查Linux服务器ip的80端口是否打开:
C:\Users\主内安详>telnet 192.168.211.128 80
快捷键退出: Ctrl + ]
13. 在window游览器上,访问 虚拟主机2加密认证的111.com地址:
此时,报401,并让其登陆加密访问的用户密码,就是刚刚设定的!




14. 用curl命令,来访问111.com,-u用来指定用户名密码,此时就是200 ok成功!
[root@hao-01 ~]# curl -x127.0.0.1:80 -uhao:admin 111.com -i



此方法用于:主网站的下级网站不想被其他人访问时候,
增加的用户认证!具体步骤如下:
15. 编辑虚拟主机配置文件中第二个虚拟主机,针对单个文件进行认证:
[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
增加内容(注意增加位置,如图):
<FilesMatch 123.php>
</FilesMatch>



16. 检测虚拟机配置文件是否有错误:
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t
17. 重新加载配置文件(不会重启服务)
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
18. 创建并编辑123.php在111.com目录下:
[root@hao-01 ~]# vim /data/wwwroot/111.com/123.php
添加内容:
<?php
echo "123.php";
19. 访问111.com不会受限(设定了:访问111.com下123.php才会需要认证)!
[root@hao-01 ~]# curl -x127.0.0.1:80 111.com -i



20. 用curl命令,直接访问111.com/123.php,访问是受限的,
(因为针对这个123.php文件做了认证,需要-u跟用户名密码才可访问)
[root@hao-01 ~]# curl -x127.0.0.1:80 111.com/123.php -i
21. -u 选项跟用户名密码,200 ok则成功访问!
[root@hao-01 ~]# curl -x127.0.0.1:80 -uhao:admin 111.com/123.php -i
11.19 域名跳转(上)11.20 域名跳转(下)
1. 编辑虚拟主机配置文件,第二个虚拟主机更改做实验:
[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
插入内容(插入位置如下图):
<IfModule mod_rewrite.c>
RewriteEngine on RewriteCond %{HTTP_HOST} !^111.com$ RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]
</IfModule>



2. 检测虚拟机配置文件是否有错误:
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t
3. 重新加载配置文件(不会重启服务)
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
4. 查找apache是否加载了rewrite模块?
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite
5. 编辑httpd.conf文件:
[root@hao-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf
查找rewrite,找到含有rewrite行,把这行前的#号删掉!



6. 检测虚拟机配置文件是否有错误:
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t
7. 重新加载配置文件(不会重启服务)
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
8. 再次查找apache是否加载了rewrite模块?
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite



9. 用curl 命令访问别名域名,跳转到了设定跳转的域名下!
[root@hao-01 ~]# curl -x127.0.0.1:80 www.example.com




在虚拟机配置文件中,下图位置,设定跳转到指定的网站域名!!!



11.21 Apache访问日志
1. 两种日志格式:combined 、 commo



2. 更改虚拟主机配置文件,把日志格式改为combined :
[root@hao-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
更改内容(更改访问日志格式):
commo改为:combined




3. 检测虚拟机配置文件是否有错误:
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl -t
4. 重新加载配置文件(不会重启服务)
[root@hao-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
5. 在Windows上,访问到 111.com/123.php网站,先把这个网站地址,发在其他博客或帖子中,再点击这个超链接,即可在服务器上记录上访问日志!
6. 查看Apache,combined格式的访问日志:
[root@hao-01 ~]# tail /usr/local/apache2.4/logs/111.com-access_log
由图看出,从51cto博客里页面,跳转到了这个111.com下的123.tmp地址


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache