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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Apache用户认证

1、编辑文件

[root@centos7 ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

#打开网页时,让你输入Apache认证的用户名,密码

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/111.com"

    ServerName 111.com

    ServerAlias www.111.com www.example.com

    <Directory /data/wwwroot/111.com>

    #指定认证的目录

        Allowoverride AuthConfig

        #该行相当于打开用户认证的开关

        AuthName "111.com user auth"

        #自定义认证的名字

        AuthType Basic

        #认证类型,一般为basic

        AuthUserFile /data/.htpasswd

        #指定密码文件所在位置(需要手动添加)

        require valid-user

        #设定需要认证的用户为“AuthUserFile”中定义的所有可用用户

     </Directory>

    ErrorLog "logs/111.com-error_log"

    CustomLog "logs/111.com-access_log" common

</VirtualHost>


2、创建认证的用户名(shenjie),密码(自己输入)

htpasswd 第一次创建输入 -c

第二次就只输入 -m

[root@centos7 ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd shenjie

New password: 

Re-type new password: 

Adding password for user shenjie


3、[root@centos7 ~]# /usr/local/apache2.4/bin/apachectl graceful

4、更改window下的hosts

192.168.3.74 www.111.com

5、访问

52c5bb48b8254e4ad1f49f07078b6bb3.png-wh_

6、输入认证的用户密码报错

cca63a22c6c8db03aed8789fb75f3f33.png-wh_

7、查看错误日志

提示说权限问题

f0c725fcba46f8b4b8e020a351978196.png-wh_

[root@centos7 data]# chmod 755 .htpasswd

8、再次访问

ff710948b94519b2cb0d0eac3ad01dc8.png-wh_

htpasswd 用法如下:

-c:=create,创建一个加密文件
-n:不更新加密文件,只将更新后的用户名密码显示在屏幕上
-m:使用MD5算法对密码进行加密(默认)
-d:使用CRYPT算法对密码进行加密
-p:不对密码进行加密,即明文密码
-s:使用SHA算法对密码进行加密
-b:在命令行一并输入用户名和密码,而不是根据提示输入密码
-D:删除指定用户


对网站指定的页面做认证权限

1、新增这些内容

[root@centos7 111.com]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/111.com"

    ServerName 111.com

    ServerAlias www.111.com www.example.com

    <FilesMatch 123.html>

        AuthName "111.com user auth"

        AuthType Basic

        AuthUserFile /data/.htpasswd

        require valid-user

    </FilesMatch>

    ErrorLog "logs/111.com-error_log"

    CustomLog "logs/111.com-access_log" common

</VirtualHost>


2、[root@centos7 111.com]# vi 123.html 

<h1>this is 123.php</h1>


3、[root@centos7 111.com]# /usr/local/apache2.4/bin/apachectl restart

4、验证

访问:http://111.com/123.html需要认证;http://111.com则不需要

4e47664b45a7915bae62f7f35ee4d5f5.png-wh_


b1b567934b533f93e5f04e22d7494325.png-wh_


905c1b11817d8188323796e8812c60ec.png-wh_


域名跳转

301:永久跳转

302:临时跳转

区别:永久跳转后的网站会被搜索引擎判断为是后面的域名的权重,加大了后面跳转的权重比例

而临时跳转会被判断是第一个输入域名的权重;如:访问http://123.com 跳转到http://abc.com时,搜索引擎会加大abc.com的权重,比如你在百度上搜索linux时,权重高的排名越靠前。

c27e8a763900d58ac289f1486ad5f760.png-wh_


1、[root@centos7 111.com]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

    DocumentRoot "/data/wwwroot/111.com"

    ServerName 111.com

    ServerAlias www.111.com www.example.com

    <IfModule mod_rewrite.c>  #需要rewrite模块

        RewriteEngine on             #开启rewrite功能

        RewriteCond %{HTTP_HOST} !^111.com$  #定义rewrite条件:所有非111.com的域名

        RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L] 

#规则:^/:表示若是访问http://111.com/123.html这个域名的话,就是指的http://111.com/

            (.*):表示123.html ,对应后面的$1

            ^/(.*)/(.*)$:后面的对应的就是$2

            301:永久跳转;

            L是last,即最后一个rewrite规则,如果请求被此规则命中,将不会继续再向下匹配其他规则。

    </IfModule>

    ErrorLog "logs/111.com-error_log"

    CustomLog "logs/111.com-access_log" common

</VirtualHost>


2、查看需要开启rewrite模块

[root@centos7 111.com]# cat  /usr/local/apache2.4/conf/httpd.conf| grep rewrite

LoadModule rewrite_module modules/mod_rewrite.so


3、[root@centos7 111.com]# /usr/local/apache2.4/bin/apachectl graceful

4、验证

访问:www.example.com跳转到http://111.com

访问:www.example.com/123.html跳转到http://111.com/123.html


Apache访问日志

日志在的目录:/usr/local/apache2.4/logs/

系统自带的格式

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    LogFormat "%h %l %u %t \"%r\" %>s %b" common

#h表示host来源IP,l表示login用户,u表示user用户密码,t表示time时间,r表示request(行为),s表示status状态码,b表示byte大小

#user-agent:用户代理(浏览器版本)

#referer:跳转到当前位置的上一个网址(比如:在一个论坛发的贴,贴信息是www.123.com,记录的referer为论坛地址)


1、修改配置文件日志为combined

[root@centos7 apache2.4]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

756184f2a2d7f2320ef25bb836f9228f.png-wh_

2、[root@centos7 apache2.4]# /usr/local/apache2.4/bin/apachectl graceful

3、看下变化:

edf4c78f496998ac4a08a4596fc360a2.png-wh_


默认情况下log日志格式为:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

其中%h 是记录访问者的IP,如果在web的前端有一层代理,那么这个%h其实就是代理机器的IP,这不是我们想要的。在这种情况下,

%{X-FORWARDED-FOR}i  字段会记录客户端真实的IP。所以log日志改为:

LogFormat "%h %{X-FORWARDED-FOR}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined


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

1、在php.ini中设置

short_open_tag on

2、重启httpd

3、设置了之后才能解析:

<?

phpinfo()

?>

否则只能解析以下的:


<?php

phpinfo()

?>















本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/1980227 ,如需转载请自行联系原作者






相关文章
|
4月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
157 26
|
5月前
|
存储 API 数据安全/隐私保护
使用宝塔搭建MinIO并且设置域名访问
本文介绍了如何使用宝塔面板搭建MinIO并设置域名访问的完整流程。首先通过宝塔面板安装Docker及MinIO,配置域名与端口,完成Web管理界面的部署。接着,创建存储桶、配置访问规则和API密钥,实现资源的安全管理。最后,通过反向代理设置API接口,测试文件上传功能,确保MinIO可用于图片和文件资源的存储。作者Harry技术还分享了相关开源项目,适合开发者快速上手。
1038 2
使用宝塔搭建MinIO并且设置域名访问
|
6月前
|
安全 网络协议 网络安全
只有IP地址没有域名,如何实现HTTPS访问?
在仅有IP地址而无域名的情况下,实现HTTPS访问并非不可能。主要挑战包括证书颁发机构(CA)对IP地址的支持有限及浏览器兼容性问题。解决方案有:1) 搭建私有CA为内部IP地址颁发证书;2) 使用支持IP地址的公共CA服务。选择合适的方案需根据需求权衡。具体步骤包括选择证书类型、生成CSR文件、提交并完成验证、安装SSL证书和配置强制HTTPS访问。确保IP地址稳定,并定期维护安全性。 **申请优惠**:访问JoySSL官网并填写注册码“230907”可优惠申请IP地址证书。
816 5
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
域名解析 弹性计算 应用服务中间件
使用域名访问部署在ECS上的网站
本文为您介绍如何为网站配置域名并为域名配置HTTPS证书。
|
10月前
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
1174 6
|
10月前
|
域名解析 网络协议 前端开发
浏览器输入域名网址访问后的过程详解
1、以91处理网为例,客户端浏览器通过DNS解析到www.91chuli.com,IP地址是202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
341 2
|
11月前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
169 1
|
12月前
|
网络协议 开发工具 git
hexo github部署,通过域名访问你的博客
本文介绍了如何使用Hexo命令部署博客到GitHub,并详细说明了如何通过自定义域名访问GitHub上部署的博客。
hexo github部署,通过域名访问你的博客
|
12月前
|
PHP
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
本文详解了在ThinkPHP框架中配置多应用的方法,包括安装扩展、删除默认controller文件夹、创建多应用、修改配置文件以启用多应用、测试访问以及如何配置不同域名访问不同应用的步骤。
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】

推荐镜像

更多