摘要:摘要: Apache用户认证、 域名跳转
httpd的用户认证
•vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf//把123.com那个虚拟主机编辑成如下内容
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/www.123.com"
ServerNamewww.123.com
<Directory/data/wwwroot/www.123.com>//指定认证的目录
AllowOverrideAuthConfig//这个相当于打开认证的开关
AuthName"123.comuserauth"//自定义认证的名字,作用不大
AuthTypeBasic//认证的类型,一般为Basic,其他类型阿铭没用过
AuthUserFile/data/.htpasswd//指定密码文件所在位置
requirevalid-user//指定需要认证的用户为全部可用用户
</Directory>
</VirtualHost>
•/usr/local/apache2.4/bin/htpasswd-cm/data/.htpasswdaming
•重新加载配置-t,graceful
•绑定hosts,浏览器测试
•curl-x127.0.0.1:80www.123.com//状态码为401
•curl-x127.0.0.1:80-uaming:passwdwww.123.com//状态码为200
•还可以针对单个文件进行认证
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/www.123.com"
ServerNamewww.123.com
<FilesMatchadmin.php>
AllowOverrideAuthConfig
AuthName"123.comuserauth"
AuthTypeBasic
AuthUserFile/data/.htpasswd
requirevalid-user
</FilesMatch>
</VirtualHost>
实例:
设置认证的名字。
-c:是创建密码文件,-m:是指定密码文件存放目录,
密码文件的存放目录。
查看密码文件。显示空的原因?输入的密码两次都不一样。
左边是域名。右边是密码。
另创建一个用户。
重新加载一次,查看上面的操作是否有误。
显示401?原因访问的诱用户需要做用户认证。
分文正常:显示200
•需求,把123.com域名跳转到www.123.com,配置如下:
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/www.123.com"
ServerNamewww.123.com
ServerAlias123.com
<IfModulemod_rewrite.c>//需要mod_rewrite模块支持
RewriteEngineon//打开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-irewrite//若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module(shared)前面的#
•curl-x127.0.0.1:80-I123.com//状态码为301
•访问日志记录用户的每一个请求
•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"
ServerNamewww.123.com
ServerAlias123.com
CustomLog"logs/123.com-access_log"combined
</VirtualHost>
•重新加载配置文件-t,graceful
•curl-x127.0.0.1:80-I123.com
•tail/usr/local/apache2.4/logs/123.com-access_log
常见问提:
答案:重新检查了虚拟主机配置文件用户认证配置那块,在定义认证目录路径和document定义路径不一致,把都修改为111.com就行了,之前多了个www
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28