设为首页 收藏本站
查看: 994|回复: 0

[经验分享] Apache用户认证,域名跳转,Apache访问日志

[复制链接]

尚未签到

发表于 2018-11-18 09:50:11 | 显示全部楼层 |阅读模式
  笔记内容:

  •   11.18 Apache用户认证
  •   11.19/11.20 域名跳转
  •   11.21 Apache访问日志
  笔记日期:2017.10.09
  

  11.18 Apache用户认证

  用户认证是在你打开网页的时候就需要进行认证,如果没有通过认证就不允许访问网页,和网站上的登录账户不一样。这样的做法虽然可以增加安全性,但是会导致用户体验很差,因为总是要你认证完了才能访问网页,也是挺麻烦的。不过这样的需求还是有可能会遇到的,因为有些网页需要比较高的安全保证,例如后台管理员登录的入口网页。

  •   编辑虚拟主机配置文件:
  vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  


  •   修改成如下内容:
  
      DocumentRoot "/data/wwwroot/111.com"
      ServerName 111.com
       //指定认证的目录
          AllowOverride AuthConfig //这个相当于打开认证的开关
          AuthName "111.com user auth" //自定义认证的名字,作用不大
          AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过
          AuthUserFile /data/.htpasswd  //指定密码文件所在位置
          require valid-user //指定需要认证的用户为全部可用用户
     
  

  


  •   生成用户密码文件:
  /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd user111

  

  可以查看文件里的内容,左边的是用户名,右边的是密码,这个密码是用md5加密的:

  

  第二次再添加用户的时候就不需要加-c选项了,因为密码文件已经创建过了:

  这时查看密码文件就可以看到多了一行内容:

  


  •   重新加载配置文件:

  


  •   然后使用curl命令测试一下:

  发现出现了401状态码,这是因为需要进行用户验证。
  

  使用-I选项能看到详情:

  

  这时候使用浏览器进行访问就会发现需要你输入用户密码进行验证了(域名需要在Windows的hosts文件里配置一下,让这个域名指向你虚拟机的IP):


  需要输入刚刚设置的用户名和密码才可以进行访问:


  

  如果要使用curl命令进行访问的话也可以,需要使用-u选项指定好用户名和密码:


  

  我们现在设置的是访问所有的网页文件都需要进行认证,除此之外还可以设置针对单个文件进行认证,只有访问这个文件才需要进行认证,访问其他的文件则不需要进行认证。


  •   修改一下虚拟主机配置文件,修改成以下内容:
  
      DocumentRoot "/data/wwwroot/111.com"
      ServerName 111.com
     
          AllowOverride AuthConfig
          AuthName "111.com user auth"
          AuthType Basic
          AuthUserFile /data/.htpasswd
          require valid-user
     
  

  

  2.创建123.php文件,用于测试:
  vim /data/wwwroot/111.com/123.php

  


  •   现在可以直接访问111.com:

  

  但是如果访问111.com下的123.php就会需要认证了:

  

  同样的需要加上用户名和密码验证后才能访问:


  

  

  

  

  

  

  

  

  

  

  11.19/11.20 域名跳转

  域名跳转就是从一个域名跳转到另一个域名上,例如我要访问111.com这个域名,然后加载时会跳转到123.com这个域名上并显示页面内容,这就是域名跳转。

  •   修改虚拟主机配置文件为以下内容:
  
      DocumentRoot "/data/wwwroot/www.123.com"
      ServerName www.123.com
      ServerAlias 123.com
       //需要mod_rewrite模块支持
          RewriteEngine on  //打开rewrite功能
          RewriteCond %{HTTP_HOST} !^www.123.com$  //定义rewrite的条件,主机名(域名)不是www.123.com满足条件
          RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行
  
  

  

  修改完之后重新加载配置文件:

  

  在测试之前先检查一下你的apahce是否加载了rewrite模块:
  /usr/local/apache2.4/bin/apachectl -M |grep rewrite

  

  如果没有加载的话,需要配置一下httpd的配置文件:

  

  模块加载了之后就可以进行测试了:

  

  状态码显示301就表示成功:


  

  

  

  

  

  11.21 Apache访问日志

  访问日志记录用户的每一个访问、请求,日志文件在/usr/local/apache2.4/logs/目录下:

  

  刚刚我们做实验访问的是111.com,所以日志文件是以111.com开头的,查看日志内容:

  

  这个日志是可以定义它的格式的,在apache的主配置文件里定义:

  %h 表示来源ip
  %l 表示用户
  %u也表示用户
  %t表示时间
  %r表示请求类型(HEAD或GET之类)
  %>s 表示状态码
  %b 表示大小
  %{User-Agent}i 表示用户代理(浏览器或curl就是代理,会显示代理的信息)
  %{Referer}i 表示浏览器上一次访问的网址
  

  开始进行配置,将虚拟主机配置文件修改成以下内容:

  

  然后使用curl命令和浏览器进行访问一下,然后再查看一下日志文件会发现最新的两行内容格式不一样了:

  

  

  

  扩展

  apache虚拟主机开启php的短标签

  http://ask.apelearn.com/question/5370
  

  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636457-1-1.html 上篇帖子: apache 负载均衡后日志记录真实IP 下篇帖子: Docker 案例 apache与ssh 容器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表