LAMP架构(apache用户认证,域名重定向,apache访问日志)

简介:

一、apache用户认证

用户认证就是打开一个网站。会让你输入用户名和密码。对了才会让你访问HTTP,

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

编辑内容如下

<Directory /data/wwwroot/www.123.com> //指定认证的目录

        AllowOverride AuthConfig //这个相当于打开认证的开关

        AuthName "123.com user auth" //自定义认证的名字,作用不大

        AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过

        AuthUserFile /data/.htpasswd  //指定密码文件所在位置

        require valid-user //指定需要认证的用户为全部可用用户

    </Directory>


/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd lty     使用apache的内置文件生成htpasswd -c 创建 -m mk5加密

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t           检查语法错误

Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl  graceful     重新加载配置文件


[root@localhost ~]# curl -x127.0.0.1:80 111.com -I

HTTP/1.1 401 Unauthorized

Date: Mon, 20 Nov 2017 06:31:55 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1


[root@localhost ~]# curl -x127.0.0.1:80 111.com -I

HTTP/1.1 401 Unauthorized                 (401说明要做用户验证)

Date: Mon, 20 Nov 2017 06:32:01 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1

用浏览器访问发现需要做用户认证


也可以对单个文件做用户认证

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

编辑如下:

#<Directory /data/wwwroot/111.com> 

<FilesMatch 111.php>

~

~

~

</FilesMatch>

#</Directory>

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t           检查语法错误

Syntax OK

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl  graceful     重新加载配置文件

[root@localhost ~]# curl -x127.0.0.1:80 111.com/111.php -I

HTTP/1.1 401 Unauthorized                    

Date: Mon, 20 Nov 2017 06:49:16 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

WWW-Authenticate: Basic realm="111.com user auth"

Content-Type: text/html; charset=iso-8859-1


二、域名重定向

域名跳转,也叫域名重定向

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

 <IfModule mod_rewrite.c>      //需要mod_rewrite模块支持

   RewriteEngine on  //打开rewrite功能

   RewriteCond %{HTTP_HOST} !^111.com$  //定义rewrite的条件,主机名(域名)不是111.com满足条件

   RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]      //定义rewrite规则,当满足上面的条件时,这条规则才会执行,301表示永久跳转,临时                                                         跳转302,L表示跳转一次

</IfModule>

查看有没有加载模块rewrite.so

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite

如果没有,修改httpd配置文件

149    #LoadModule rewrite_module modules/mod_rewrite.so   去掉#号


[root@localhost ~]# curl -x127.0.0.1:80 2111.com.cn -I

HTTP/1.1 301 Moved Permanently               (状态为301,永久跳转)

Date: Mon, 20 Nov 2017 08:05:07 GMT

Server: Apache/2.4.28 (Unix) PHP/5.6.30

Location: http://111.com/

Content-Type: text/html; charset=iso-8859-1


三、apache访问日志

访问日志:会记录用户的每一个请求

cat /logs/

默认的日志格式:

来源的ip.时间,行为,访问域名,httpd版本,状态码,大小

修改日志格式;

vim /usr/local/apache/conf/httpd.conf

搜索/LogFormat    就是日志的格式

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

284    LogFormat "%h %l %u %t \"%r\" %>s %b" common  默认日志格式

{User-Agent}用户代理:通过浏览器或者curl访问,最终获得网站内容,浏览器就是用户代理,

{Referer} 记录浏览器上一次所访问的网址是什么


vim /usr/local/apache/conf/extra/httpd-vhosts.conf

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access%Y%m%d.log 86400" 

combined                             (把访问日志这一行之前的common 改为combined)










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

推荐镜像

更多