Apache网页优化(企业网站结构部署与优化)

news2024/7/31 15:12:36

本章结构

一、Apache网页优化

在使用 Apache 作为 Web 服务器的过程中,只有对 Apache 服务器进行适当的优化配置,才能让 Apache 发挥出更好的性能。反过来说,如果 Apache 的配置非常糟糕,Apache可能无法正常为我们服务。因此,针对各种企业应用需求对 Apache 服务器的配置进行一定的优化是必不可少的。

网页优化概述

gzip 介绍

HTTP 压缩的过程

Apache 的压缩模块

Apache 的压缩模块

启用网页压缩功能步骤

重新编译 Apache 添加 mod_deflate 模块

配置 mod_deflate 模块启用

检查安装情况并测试 mod_deflate 压缩是否生效

apache服务器压缩模块怎么安装?

先把apache服务关闭掉,然后cd到解压目录重新配置。

在原有的基础上添加一个压缩模块(deflate)

cd到解压目录

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate

然后:make && make install

使用apachectl -t -D DUMP_MODULES | grep deflate 查看一下有没有这个模块。

然后再查看模块的配置文件

有这个配置文件,那为什么找不到这个模块呢?

配置文件中没有启用这个模块:

在apache配置文件中写入加载此模块的语句,如下:

vim /uar/local/httpd/conf/httpd.conf

在一个空白行写入:

重启服务后,再去检测有没有这个模块。

只是加载了进去,还没有指定启动该模块:

再进入主配置文件:编写以下内容:

LoadModule deflate_module modules/mod_deflate.so

<IfModule mod_deflate.c>

DeflateCompressionLevel 6

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/csstext/javascript application/x-javascript application/javascript application/json

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

AddOutputFilterByType DEFLATE text/*

AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript

AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp

</IfModule>

httpd -t 检测一下apache配置文件语法有没有错误;

再重启服务:systemctl restart httpd

打开网页显示有压缩工具就说明成功了:

二、网页缓存

网页缓存是将一部分经常不会改变和变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次去下载这些页面,从而提高了用户的访问速度。

Apache 的 mod_expires 模块会自动生成页面头部信息中的 Expires 标签和Cache-Control 标签,客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要向服务器再次发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流 量和增加访问速度的目的。配置 mod_expires 模块的步骤与 mod_deflate 模块相似。

启用网页缓存功能步骤

配置 mod_expires 模块启用

重启 Apache 服务

网页缓存:

首先还是进入apache的主配置文件内找到expires,把前面的注释去掉,

写入以下语句:

指定最大缓存时间为60秒。

再使用httpd -t 检查语法问题:

再重启服务;systemctl restart httpd

三、隐藏版本信息

为了安全起见,可以把版本信息隐藏起来,防止黑客识得版本信息进行入侵:

首先先打开主配置文件,搜索default:

注释去掉,使得主配置文件能够识别该文件中的配置:

然后进入该文件进行修改:

重启服务后生效:

四、Apache 防盗链

192.168.10.101作为服务器 benet.com

192.168.10.102作为盗链者 accp.com

win11作为客户端进行验证

把这两行内容放到三个主机的hosts文件中:

192.168.10.101 www.benet.com

192.168.10.102 www.accp.com

也要写到win11的hosts文件中。让win11系统也能够解析对应的域名。

把服务器正常的网站内容构建一下:

cd进入网站的站点目录下:之前源码安装的方式站点目录在这里

/usr/local/httpd/htdocs

然后把这个实验图片放到目录中:

将图片文logo.jpg件拷贝到apache的网站根目录下并修改网页文件

[root@apache1 ~]# vim /usr/local/httpd/htdocs/index.html

<html>

<body>

<h1>It work ! </h1>

<img src="logo.jpg"/>

</body>

</html>

在win11访问这个网站验证:

用另一台apache服务器盗链(盗图网站)

在 www.accp.com 服务器,修改 index.html 文件,加入盗取图片链接

yum 安装的方式网站的站点目录在/var/www/html

再用win11主机去验证:

访问的是accp.com,但是图片是benet.com给的,这就完成了盗链。

请求的是accp的,但是图片请求的是benet的。

如何防盗链???

先把跳转error的图片放到/usr/local/httpd/htdocs/ (网站站点目录下)

先打开服务器的主配置文件,启用一个重写模块:

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

将该模块的注释去掉;即启用。

再写重写规则:

写完使用httpd -t 检查语法格式;随后重启服务后生效;

然后使用win11验证:

因为写的正则表达式,重写语句中,本图片和语句中的规则相冲突,会进入循环,再进入主配置文件:

把png的后缀去掉。

重启后生效;再用win11去验证;

再去访问盗链者的网站就会跳转到http://www.benet.com/error.phg这张图片。

首先访问的是盗链者的网站,且没有指定要访问的文件,所以直接跳转到了主页文件,但是盗链者的主页文件写的是我服务器的文件链接,又因为我写了地址重写语句,因此,最后跳转到了我服务器下的error这张图片。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1918773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

链接报错undefined reference to + libc++和libstdc++

1 问题现象 subscribe(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) 描述&#xff1a;编译的时候&#xff0c;最后的链接中一直没成功 2 可能原因 2.1 链接时缺失了相关目标文件&#xff08;.o&#x…

Visual Studio 2022 安装及使用

一、下载及安装 VS 官网&#xff1a;Visual Studio: IDE and Code Editor for Software Developers and Teams 下载免费的社区版 得到一个.exe文件 右键安装 选择C开发&#xff0c;并修改安装位置 等待安装 点击启动 二、VS的使用 1.创建项目 打开VS&#xff0c;点击创建新项…

1招搞定maven打包空间不足问题

目录 一、工具应用问题 二 、使用效果 三、使用方法 四、练习手段 一、工具应用问题 使用maven的package功能打包失败&#xff0c;报错“Java heap space”错误。 二 、使用效果 修改IDEA中maven内存使用大小后&#xff0c;打包成功。 三、使用方法 点击菜单“File->Set…

openWrt(4) - uci

uci show 1) uci show - 查看所有配置文件列表 2)查看特定配置文件的详细信息&#xff1a; uci show network 我们以 network 为例 3&#xff09;查看特定配置项的详细信息&#xff1a; uci show network.wan 添加一个新的配置条目&#xff1a;uci add network interface …

Apifox报错404:网络错误,请检查网络,或者稍后再试的解决办法

详细报错如图&#xff1a; 解决办法&#xff1a; 1、检查 请求方法&#xff08;get&#xff0c;post&#xff09;是否正确&#xff0c;请求的URL是否正确&#xff0c;如果不正确&#xff0c;修改后重新发起请求&#xff1b;如果都正确&#xff0c;看2 2、复制curl用postman来…

安防监控/视频汇聚平台EasyCVR设备录像回看请求播放时间和实际时间对不上,是什么原因?

安防监控EasyCVR视频汇聚平台可提供多协议&#xff08;RTSP/RTMP/国标GB28181/GAT1400/海康Ehome/大华/海康/宇视等SDK&#xff09;的设备接入、音视频采集、视频转码、处理、分发等服务&#xff0c;系统具备实时监控、云端录像、回看、告警、平台级联以及多视频流格式分发等视…

当海底捞开始“抠”服务,火锅还能好吗

在胖东来因好服务在互联网上被献上诸多赞誉时&#xff0c;另一家曾因服务被赞为“学不会”的海底捞&#xff0c;却在经受质疑。 最近&#xff0c;社交媒体上&#xff0c;海底捞的消息有点儿多。先是5月30日&#xff0c;#海底捞玩具大人不能随便拿了#登上热搜&#xff0c;后是6…

开发TEE的踩坑之开发TEE

系统&#xff1a;Ubuntu20.04&#xff08;双系统&#xff0c;非虚拟机&#xff09; 一、前置说明1、TEE平台的选择2、机器间的通信方式3、程序和数据集的示例4、结果文件的解密 二、服务器部署三、客户端部署四、工程应用 本系列为笔者开发TEE&#xff08;Trusted Execution En…

华为USG6000V防火墙v1

目录 一、实验拓扑图 二、要求 三、IP地址规划 四、实验配置 1&#x1f923;防火墙FW1web服务配置 2.网络配置 要求1&#xff1a;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问 要求2&#xff1a;生产区不…

【ARMv8/v9 GIC 系列 1.7 -- GIC PPI | SPI | SGI | LPI 中断使能配置概述】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC 各种中断使能配置PPIs(每个处理器私有中断)SPIs(共享外设中断)SGIs(软件生成的中断)LPIs(局部中断)GIC 各种中断使能配置 在ARM GICv3和GICv4架构中,不同类型的中断(如PPIs、SPIs、SGIs和LPIs)可以通过不同的方式进…

09磁盘管理

一、磁盘管理 1.磁盘基础知识 &#xff08;1&#xff09;磁盘接口类型 个人电脑&#xff0c; 硬盘接口分为IDE类型和SATA类型 服务器版分为SCSI类型和SAS类型 &#xff08;2&#xff09;磁盘命名方式 windows中硬盘命名方式是c&#xff0c;d,e盘 linux中硬盘命名方式为 系统…

uiautomation: debug记录

文章目录 1. pyinstaller打包后运行涉及uiautomation时出现的的错误1.1 [WinError 3] The system cannot find the path specified: C:\\Users\\g\\AppData\\Local\\Temp\\_MEI192482\\uiautomation\\bin 1. pyinstaller打包后运行涉及uiautomation时出现的的错误 1.1 [WinErr…

JUC八股(持续更新中)

写在前面&#xff1a;本文为个人八股复习所用&#xff0c;整合了其他平台的答案加自己的理解&#xff0c;希望能对大家的八股复习有所帮助&#xff0c;答案可能存在出入&#xff0c;请大家理性食用~~ 1. 进程和线程的区别 进程&#xff1a; 进程是操作系统资源分配的基本单位…

神器!3个免费PPT成品网站推荐+3款AIPPT工具盘点!

熬夜加班做PPT却没有头绪&#xff1f;别再自己憋着想了&#xff01;现在凡事主打一个“抄作业”&#xff0c;想做ppt却没想法&#xff0c;可以去到ppt成品网站搜集PPT模板&#xff0c;或是使用时下流行的AI生成PPT工具&#xff0c;只需输入PPT主题&#xff0c;即可快速生成一份…

Linux 命令探秘:揭秘那些有趣的小命令

目录 1.发现隐藏在终端的惊喜小命令 2.小火车 1.安装EPEL 2.小火车出发准备 3.输入命令 3.linux_logo 1.安装linux_logo 2.输入命令 3.linux_logo介绍 4.牛讲话 1.安装命令 2.输入命令 5. figlet 1.安装命令 2.输入命令 “如果您在解决类似问题时也遇到了困…

前端面试题49(如何集成和使用CSP 来增强前端安全性?)

Content Security Policy (CSP) 是一种帮助防止跨站脚本(XSS)和其他代码注入攻击的安全策略。通过明确指定浏览器可以加载或执行哪些资源&#xff0c;CSP 有效限制了恶意内容的执行。下面是如何在实际项目中集成和使用 CSP 的步骤&#xff1a; 1. 确定CSP策略 首先&#xff0…

欧科云链研究院:坎昆升级后,Layer2变得更好了吗?

本文由欧科云链研究院OKG Research联合PANews出品&#xff1a;以数据为导向&#xff0c;洞察真实的链上世界。 作者&#xff5c;Jason Jiang, OKG Research 坎昆升级后&#xff0c;以太坊L2的交易费用降低明显且吞吐量有所提升&#xff0c;但整体生态并没有迎来想象中的繁荣景…

leetcode165.解密数字

题目表述&#xff1a; 这道题目和斐波那契数列以及跳台阶问题十分相似。 斐波那契数列&#xff1a;0、1、1、2、3、5, 8、13、21、34 …… leetcode跳台阶问题&#xff1a;1、1、2、3、5, 8、13、21、34....... 这类题目的特点都是第N项的结果等于前两项的和。 但是解密数…

Spring中的单例模式应用详解

1. DefaultListableBeanFactory 在Spring中&#xff0c;所有由Spring容器管理的Bean默认都是单例的。Spring框架中最经典的单例模式实现是在BeanFactory中。BeanFactory是Spring IoC容器的核心接口&#xff0c;其实现类DefaultListableBeanFactory在加载Bean定义时&#xff0c…

手机m4a怎么转换成mp3,手机端即可完成格式转换

M4A&#xff08;MPEG-4 Audio&#xff09;是一种无损压缩的音频格式&#xff0c;通常用于苹果设备和 iTunes 上&#xff0c;因为它能提供较高的音质同时占用较小的存储空间。 然而&#xff0c;MP3 作为最普及的音频格式之一&#xff0c;兼容性更强&#xff0c;几乎所有的播放设…