专栏首页linux系统运维Apache用户认证,域名跳转,Apache访问日志

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

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 -c -m /data/.htpasswd aming   重新加载配置

/usr/local/apache2.4/bin/apachectl -t ,    = 测试配置文件是否正确

/usr/local/apache2.4/bin/apachectl graceful     =重新加载配置文件  绑定hosts(Windows的hosts文件),浏览器测试  curl -x127.0.0.1:80 www.123.com //状态码为401说明需要认证用户和密码  curl -x127.0.0.1:80 -uaming:passwd www.123.com //状态码为200正确认证   200=没问题

配置文件修改如下:

配置文件修改完以后生成密码:

 /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming    (测试机器密码rabbit)

第二次再次创建新用户那么就不需要 -c 因为已经创建过密码文件了。

域名跳转:

域名跳转分类及区别

种类:

301表示永久跳转;302表示临时跳转。

区别:

  • 使用效果不同
    • 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。
    • 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。
  • SEO使用方式不同 在搜索引擎优化中302跳转被众多黑帽SEO优化人员追求,对网站进行恶意302跳转至非用户目标访问网站,因此搜索引擎对于网站的302跳转通常是比较不友好,所以要慎用302跳转!

SEO

SEO(Search Engine Optimization)搜索引擎优化,在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的预期目标。

域名跳转配置

  • 配置虚拟主机配置文件:httpd-vhosts.conf。
[root@adailinux ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
……
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    ServerAlias www.example.com
    <IfModule mod_rewrite.c>
    #需要mod_rewrite的支持
        RewriteEngine on
        #开启rewrite功能
        RewriteCond %{HTTP_HOST} !^111.com$
        #Cond=condition,定义rewrite条件:所有非111.com的主机名(域名)
        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
        #定义rewrite规则:当满足上面条件时才执行当前规则,即跳转到111.com。
    </IfModule>
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>
<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
        RewriteEngine on  //打开rewrite功能    on=打开  off=关闭
        RewriteCond %{HTTP_HOST} !^111.com$  //定义rewrite的条件,主机名(域名)不是www.123.com满足条件     =  当域名不是  111.com  那么就会进行跳转
        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行      R=301 表示永久跳转   L=只跳转一次    R=302 表示临时跳转
</IfModule>
  • 检查系统配置:
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite

在此检查Apache是否加载了虚拟主机配置中调用的rewrite模块,如果没有加载,需要编辑Apache配置文件“httpd.conf” 搜索 rewrite :

[root@aminglinux ~]# vim /usr/local/apache2.4/conf/httpd.conf   
……
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module        modules/libphp5.so
#LoadModule php7_module        modules/libphp7.so

即,去掉注释符号“#”,加载rewrite模块。

  • 检测
[root@aming-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@aming-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@aming-01 ~]# /usr/local/apache2.4/bin/apachectl -M | grep rewrite
 rewrite_module (shared)

使用curl检测:

此时,状态码为301,即设定了域名永久跳转!   状态码为404表示页面不存在 , 状态码为401表示需要网页验证。

在浏览器进行检测时,访问“www.example.com”会直接跳转到“111.com”。

11.21 Apache访问日志:

日志文件所在位置:

access_log 表示访问日志     error_log 表示错误日志

[root@aminglinux ~]# ls /usr/local/apache2.4/logs
111.com-access_log  abc.com-access_log  access_log  httpd.pid
111.com-error_log   abc.com-error_log   error_log

自定义日志格式

系统自带日志格式:

vim /usr/local/apache2.4/conf/httpd.con

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common     common=系统默认格式
#h表示host来源IP,l表示login用户,u表示user用户密码,t表示time时间,r表示request(行为),s表示status状态码,b表示byte大小
#user-agent:用户代理
#referer:跳转到当前位置的上一个网址(即:提供当前IP的网站)

配置日志格式

编辑虚拟主机配置文件“httpd-vhosts.conf”:

[root@aminglinux ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    ServerAlias www.example.com
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^111.com$
        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
    </IfModule>
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" combined
</VirtualHost>

说明: 将日志文件后面原有 common改为combined。

重新加载:

[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@aminglinux ~]# /usr/local/apache2.4/bin/apachectl graceful

查看更改后的日志样式:

[root@aminglinux ~]# cat /usr/local/apache2.4/logs/111.com-access_log

扩展  apache虚拟主机开启php的短标签 http://ask.apelearn.com/question/5370

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • php-fpm的pool,php-fpm慢执行日志,open_basedir,php-fpm进程管理

    叶瑾
  • 限定某个目录禁止解析php,限制user_agent, php相关配置

    叶瑾
  • php扩展模块安装

    叶瑾
  • 绕过Edge、Chrome和Safari的内容安全策略

    概述 ---- Web应用中有许多基本的安全机制,其中一个是同源(same-origin)策略机制,该机制规定了应用程序代码可以访问的资源范围。同源策略的...

    奶糖味的代言
  • python编写的多线程接口并发测试

    py3study
  • 【漏洞细节】VTech平板电脑:多个数据泄露的隐患暗藏

    在最近的VTech数据泄露事件后,大家或许认为VTech的电子玩具安全性不会比现在更糟糕了。然而就在这种情况下,我们又发现了两个漏洞,黑客可以从孩子们的Inno...

    FB客服
  • 网站被克隆镜像如何解决?

    Linux下 规则文件.htaccess(没有可以手工创建.htaccess文件到站点根目录),自行修改需屏蔽的IP地址。

    空木白博客
  • python高级编程第四讲:元类编程

    我们通过上面的方法,可以自定义一些信息,如果我们写_getattr_方法,当程序中找不到我们要调用的属性时程序会直接报错

    小海怪的互联网
  • 企点3.2 | 在线客服新功能来袭

    ? 本次企点客服-在线客服3.2版本 共计更新/优化了十几个功能点 快来看看新功能在哪里/怎么用! 一、账户中心相关 :1.图文素材审核 | 2.DOM型接...

    腾讯企点
  • 兰州拉面和水电大坝都在玩的数据大屏,到底是什么“黑科技”?

    当“数据大屏”成为一种可以标准化输出的可视化解决方案,非专业的小白也能轻易上手?7月15日数据侠实验室第15期活动中,阿里云开发专家、DataV核心开发者郑新...

    DT数据侠

扫码关注云+社区

领取腾讯云代金券