摘要:摘要: 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
课程名称:Apache用户认证(网站需要增加安全性,用户体验很差,适合管理员入口)
笔记内容:
编辑案例样本:
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>
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/789.com"
ServerName789.com
ServerAliaswww.example.com
<Directory/data/wwwroot/789.com>
AllowOverrideAuthConfig
AuthName"789.comuserauth"
AuthTypeBasic
AuthUserFile/data/.htpasswd_789
requirevalid-user
</Directory>
ErrorLog"logs/789.com-error_log"
CustomLog"logs/789.com-access_log"common
</VirtualHost>
生成密码
[root@localhost~]#
/usr/local/apache2.4/bin/htpasswd-c(创建)m(加密)/data/.htpasswd_789(密码位置)zmc(用户名)
第二次创建不需要加-c
检测并且加载
401表示访问的内容需要做用户验证
[root@localhost~]#curl-x127.0.0.1:80789.com-I
Curl去访问格式
[root@localhost~]#curl-x127.0.0.1:80-uzmc:zmc789.com-I
还可以针对单个文件进行认证
样例:
<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>
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/789.com"
ServerName789.com
ServerAliaswww.example.com
#<Directory/data/wwwroot/789.com>
<FilesMatchye.php>
AllowOverrideAuthConfig
AuthName"789.comuserauth"
AuthTypeBasic
AuthUserFile/data/.htpasswd_789
requirevalid-user
</FilesMatch>
#</Directory>
ErrorLog"logs/789.com-error_log"
CustomLog"logs/789.com-access_log"common
</VirtualHost>
检测加载
写个对应目录下的ye.php
不需要账号密码验证也能访问
访问ye.php时需要账号密码
课程名称:域名跳转(上下)(域名显性转发)
笔记内容:
什么情况下域名跳转
域名跳转:实例老域名www.lishiming.com跳转至新域名ask.apelearn.com,这样需求是为了老用户老会员不改变习惯跳转至新域名,网站的SEO,搜索引擎(百度、谷歌)一直在抓网站上的帖子、页面,抓这些页面的目的(用户可以搜到),百度中可以搜索猿课,原因是百度的蜘蛛、百度的小程序,来到网站服务器上抓走了这些页面放到百度数据库中,当用户搜索时,去数据库中比对找相关页面。
搜索网站时为什么网站有排序,与网站的权重很高有关系,权重与网站页面太多,搜索引擎觉得很有价值,提升了网站的权重,搜索引擎判断网站时根据域名,一个网站多个域名会影响权重,高的权重会给最初的域名,低的权重会给后面域名,因此所以通过域名跳转来提升后面需要的域名的权重,并且定义老域名状态码301,301状态码:永久重定向,这样搜索引擎会把老域名权重降低,新域名权重升高
301域名跳转
第一步打开虚拟主机配置文件
[root@localhost~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf
第二步注释掉所有前面的配置
第三步使用需要mod_rewrite模块支持
核心配置
<IfModulemod_rewrite.c>需要mod_rewrite模块支持
RewriteEngineon打开rewrite功能
RewriteCond%{HTTP_HOST}!^789.com$定义rewrite的条件,主机名(域名)不是789.com满足条件
RewriteRule^/(.*)$http://789.com/$1[R=301,L]
定义rewrite规则,当满足上面的条件时,这条规则才会执行(无论任何域名最终呈现的目的789.com/test.php^/(.*)$^代表除去/代表789.com后面的/(.*)代表test.php$1代表了(.*)代表test.php部分,如果后面还有例如^/(.*)/([1-9)+)$那么后面表示http://789.com/$1/$2[R=301,L]状态码R=301301永久重令项302临时重令项,L代表只跳转一次(last))
</IfModule>
ErrorLog"logs/789.com-error_log"
CustomLog"logs/789.com-access_log"common
</VirtualHost>
第四步检测重新加载
检查Apache是否加载rewrite模块
[root@localhost~]#/usr/local/apache2.4/bin/apachectl-M|greprewrite
打开模块
[root@localhost~]#vim/usr/local/apache2.4/conf/httpd.conf
继续检测和重新加载
检测
实现自动跳转
课程名称:11.21Apache访问日志(每次用户访问都会有个日志)
笔记内容:
默认日志:
日志路径:[root@localhost~]#ls/usr/local/apache2.4/logs/
GET:curl不加-I
HEAD:curl访问
定义日志格式
[root@localhost~]#vim/usr/local/apache2.4/conf/httpd.conf
提供了两种日志格式,默认common
默认common
%h来源IP%l用户%u用户密码%t时间"%r"行为(HEAD、GET网址)%>s(状态码)%b(大小)
Combined
"%{Referer}i"记录浏览器上一次浏览的网址,从哪里跳转过来的
"%{User-Agent}i"用户代理(浏览器、curl)
配置日志
第一步进入配置文件
[root@localhost~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf
第二步重新定义
common改为combined
第三步检测加载
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28