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

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

一、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,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与最佳实践
在微服务架构中,数据库访问的效率直接影响到系统的性能和可扩展性。本文探讨了优化微服务架构中数据库访问的策略与最佳实践,包括数据分片、缓存策略、异步处理和服务间通信优化。通过具体的技术方案和实例分析,提供了一系列实用的建议,以帮助开发团队提升微服务系统的响应速度和稳定性。
|
28天前
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
44 1
|
29天前
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
48 0
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
|
1月前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与实践
随着微服务架构的普及,如何高效管理和优化数据库访问成为了关键挑战。本文探讨了在微服务环境中优化数据库访问的策略,包括数据库分片、缓存机制、异步处理等技术手段。通过深入分析实际案例和最佳实践,本文旨在为开发者提供实际可行的解决方案,以提升系统性能和可扩展性。
|
2月前
|
Kubernetes Serverless API
Kubernetes 的架构问题之利用不可变性来最小化对API Server的访问如何解决
Kubernetes 的架构问题之利用不可变性来最小化对API Server的访问如何解决
75 7
|
2月前
|
NoSQL Serverless API
Serverless 架构实现弹幕场景问题之API Gateway和OSS域名未绑定成功的问题如何解决
Serverless 架构实现弹幕场景问题之API Gateway和OSS域名未绑定成功的问题如何解决
32 0
|
2月前
|
Java API 微服务
Java微服务架构应对互联网应用的大规模访问与快速迭代挑战
Java微服务架构应对互联网应用的大规模访问与快速迭代挑战,通过将应用分解为小型、自治的服务,增强系统灵活性与可扩展性。本文概览微服务定义及特点,深入剖析服务拆分、注册发现、API网关等核心原理,并介绍Spring Boot、Spring Cloud、Docker与Kubernetes等关键技术实践,助力高效构建稳定、高性能的企业级应用。
31 0
|
4月前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
4月前
|
NoSQL Java 数据库
优化基于阿里云的微服务架构下的数据库访问性能
在应对大型电商项目中数据库访问性能瓶颈问题时,团队通过阿里云工具分析发现高QPS、慢查询和不合理数据交互是关键。优化措施包括:1) 索引优化,针对慢查询添加或调整索引;2) 开启读写分离,使用RDS读写分离功能和DRDS进行水平拆分;3) 引入Redis缓存热点数据,减少直接数据库访问;4) 服务化数据访问,降低跨服务数据库调用;5) 使用Sentinel进行限流和熔断,保护数据库资源。这些改进显著提升了系统响应速度和用户体验。
|
5月前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
128 1

推荐镜像

更多