码迷,mamicode.com
首页 > Web开发 > 详细

Apache用户认证;域名跳转;

时间:2017-07-31 22:11:13      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:apache

扩展 

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.con

插入内容(插入位置如下图)

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


本文出自 “主内安详” 博客,请务必保留此出处http://zhuneianxiang.blog.51cto.com/11621252/1952422

Apache用户认证;域名跳转;

标签:apache

原文地址:http://zhuneianxiang.blog.51cto.com/11621252/1952422

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!