Linux4.4网页与安全优化

news2024/11/19 9:26:08

文章目录

  • 计算机系统
    • 5G云计算
      • 第一章 LINUX Apache网页与安全优化
        • 一、网页压缩
          • 1.检查是否安装 mod_deflate 模块
          • 2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块
          • 3.配置 mod_deflate 模块启用
          • 4.检查安装情况,启动服务
          • 5.测试 mod_deflate 压缩是否生效
        • 二、网页缓存
          • 1.检查是否安装 mod_expires 模块
          • 2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块
          • 3.配置 mod_expires 模块启用
          • 4.检查安装情况,启动服务
          • 5.测试缓存是否生效
        • 三、隐藏版本信息
          • 1.隐藏版本信息
        • 四、Apache 防盗链
          • 1.检查是否安装 mod_rewrite 模块
          • 2.配置 mod_rewrite 模块启用
          • 4.网页准备
          • 5.在盗图网站主机上进行浏览器验证

计算机系统

5G云计算

第一章 LINUX Apache网页与安全优化

在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容

一、网页压缩

1.检查是否安装 mod_deflate 模块
apachectl -t -D DUMP_MODULES | grep "deflate"
2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块
systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate				#加入mod_deflate 模块

make && make install
3.配置 mod_deflate 模块启用
vim /usr/local/httpd/conf/httpd.conf
###--52行--修改
Listen 192.198.58.60:80
###--105行--取消注释
LoadModule deflate_module modules/mod_deflate.so		
###开启mod_deflate 模块
###--197行--取消注释,修改
ServerName www.kb.com:80
###--末行添加--
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png	
###代表对什么样的内容启用gzip压缩
DeflateCompressionLevel 9			
###代表压缩级别,范围为1~9
SetOutputFilter DEFLATE				
###代表启用deflate 模块对本站点的输出进行gzip压缩
</IfModule>
4.检查安装情况,启动服务
apachectl -t			
###验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "deflate"		
###检查 mod_deflate 模块是否已安装
  deflate_module (shared)							
  ###已安装的正确结果

systemctl start httpd.service
5.测试 mod_deflate 压缩是否生效
cd /usr/local/httpd/htdocs/file
先将game.jpg文件传到/usr/local/httpd/htdocs/file目录下
vim hello.html
<html>
<body>
<h1>hello world!!!!!!!!!!!!!!</h1>
<img src="game.jpg"/>
</body>
</html>

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他 
访问 http://192.168.58.60 ,双击200响应消息查看响应头中包含 Content-Encoding: gzip

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、网页缓存

1.检查是否安装 mod_expires 模块
apachectl -t -D DUMP_MODULES | grep "expires"

在这里插入图片描述

2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块
systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak1

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires			#加入mod_expires 模块

make && make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.配置 mod_expires 模块启用
vim /usr/local/httpd/conf/httpd.conf
###--52行--修改
Listen 192.198.58.60:80
###--111行--取消注释
LoadModule expires_module modules/mod_expires.so		
###开启mod_expires 模块
###--199行--取消注释,修改
ServerName www.kb.com:80
###--末行添加--
<IfModule mod_expires.c>
  ExpiresActive On								
  ###打开网页缓存功能
  ExpiresDefault "access plus 60 seconds"		
  ###设置缓存60秒
</IfModule>

在这里插入图片描述
在这里插入图片描述

4.检查安装情况,启动服务
apachectl -t			
###验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "expires"		
###检查 mod_deflate 模块是否已安装
  deflate_module (shared)							
  ###已安装的正确结果
  
systemctl start httpd.service

在这里插入图片描述

5.测试缓存是否生效
cat /usr/local/httpd/htdocs/file/hello.html

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他 
访问 http://192.168.58.60 ,双击200消息查看响应头中包含 Expires 项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、隐藏版本信息

1.隐藏版本信息
vim /usr/local/httpd/conf/httpd.conf
##--491行--取消注释
Include conf/extra/httpd-default.conf

vim /usr/local/httpd/conf/extra/httpd-default.conf
##--55行--修改
ServerTokens Prod            
###将原本的 Full 改为 Prod,只显示名称,没有版本
###ServerTokens 表示 Server 回送给客户端的响应头域是否包含关于服务器 OS 类型和编译过的模块描述信息。

systemctl restart httpd.service

浏览器访问 http://192.168.58.60 ,双击200消息查看 Server 项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、Apache 防盗链

1.检查是否安装 mod_rewrite 模块
apachectl -t -D DUMP_MODULES | grep "rewrite"
###一般默认添加安装了
2.配置 mod_rewrite 模块启用
vim /usr/local/httpd/conf/httpd.conf
###--157行--取消注释
LoadModule rewrite_module modules/mod_rewrite.so
###--224行--
<Directory "/usr/local/httpd/htdocs">
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted

  RewriteEngine On 													###打开 rewrite 功能,加入 mode_rewrite 模块内容
  RewriteCond %{HTTP_REFERER} !^http://kb.com/.*$ [NC]				###设置匹配规则
  RewriteCond %{HTTP_REFERER} !^http://kb.com$ [NC]
  RewriteCond %{HTTP_REFERER} !^http://www.kb.com/.*$ [NC]
  RewriteCond %{HTTP_REFERER} !^http://www.kb.com/$ [NC]
  RewriteRule .*\.(gif|jpg|swf)$ http://www.kb.com/error.png		###设置跳转动作
</Directory>

------------------------------------------------------------------
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]  的字段含义:
“%{HTTP_REFERER}” :存放一个链接的 URL,表示从哪个链接中转访问目录下的静态资源
“!^” :表示不以后面的字符串开头
“http://www.kb.com” :是本网站的路径,按整个字符串匹配
“.*$” :表示以任意字符结尾
“[NC]” :表示不区分大小写字母

RewriteRule .*\.(gif|jpg|swf)$ http://www.kb.com/error.png  的字段含义:
“.” :表示匹配一个字符
“*” :表示匹配 0 到多个字符,与“.”合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用“+”表示
“\.” :在这里的“\”是转义符,“\.”就代表符号“.”的意思。因为“.”在指令中是属于规则字符,有相应的含义, 如果需要匹配,需要在前面加个转义符“\”,其它规则字符如果需要匹配,也做同样处理
“(gif|jpg|swf)” :表示匹配“gif”、“jpg”、“swf”任意一个,“$”表示结束。最后的规则是以“.gif”、“.jpg”、“.swf”结尾, 前面是1到多个字符的字符串,也就是匹配图片类型的文件
“http://www.kb.com/error.png” :表示转发到这个路径 

整个配置的含义是 使用本网站以外的网站域名 访问本站的图片文件时,显示 error.png 这个图片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.网页准备
Web源主机配置:
cd /usr/local/httpd/htdocs/file
将game.jpg、error.png文件传到/usr/local/httpd/htdocs/file目录下
vim hello.html
<html>
<body>
<h1>this is kb.com!</h1>
<img src="game.jpg"/>
</body>
</html>

echo "192.168.58.60 www.kb.com" >> /etc/hosts 
echo "192.168.58.61 www.benet.com" >> /etc/hosts 

盗链网站主机:
cd /usr/local/httpd/htdocs				
###yum安装的httpd服务的默认路径为/var/www/html/
vim index.html
<html>
<body>
<h1>this is benet.com!</h1>
<img src="http://www.kb.com/game.jpg"/>
</body>
</html>

echo "192.168.58.60 www.kb.com" >> /etc/hosts 
echo "192.168.58.61 www.benet.com" >> /etc/hosts 

在这里插入图片描述
在这里插入图片描述

5.在盗图网站主机上进行浏览器验证
http://www.benet.com

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

redis第三章-redis集群redisCluster

1.redis集群模式比较 &#xff08;1&#xff09;哨兵模式 哨兵模式是利用哨兵来做主从切换的&#xff0c;当主节点发生故障的时候&#xff0c;通过哨兵去选取出一个从节点作为主节点&#xff0c;但本身哨兵的配置还是有些麻烦&#xff0c;并且实际上哨兵的性能和高可用性一般…

chatgpt赋能python:使用Python创建结构体:完全指南

使用Python创建结构体&#xff1a;完全指南 在Python编程领域&#xff0c;结构体是一种非常方便和有用的数据类型&#xff0c;用于存储和组织相关变量。在本篇文章中&#xff0c;我们将讨论如何使用Python创建结构体。让我们开始吧&#xff01; 什么是结构体&#xff1f; 结…

shell学习

1、/etc/hosts的作用 Windows下的目录C:\Windows\System32\drivers\etc\hosts Linux下目录/etc/hosts 如 我们在/etc/hosts文件中添加一行 39.156.66.10 taobao.com 原理是&#xff0c;我们在浏览器输入 taobao.com&#xff0c;那么网站就可以打开百度的网站 但是现实是网…

7大常用ES6特性,助力你写出更现代化的JavaScript

文章目录 1. 模板字符串2. 箭头函数3. let 和 const4. 解构赋值5. 函数默认参数6. 模块化7. Promise 1. 模板字符串 模板字符串是一种新的字符串类型&#xff0c;它允许你在字符串中插入变量&#xff0c;方便了JavaScript开发者的开发体验。 ES6的模板字符串&#xff08;Templa…

demo:搜索帮助出口

写报表&#xff0c;用到搜索帮助&#xff0c;太久不写了&#xff0c;忘了&#xff0c;然后简单测了下。 当然方法很多&#xff0c;我只是突然想起这个东西来了&#xff0c;就测了下&#xff0c;条条大路通北京&#xff0c;想咋实现就咋实现吧&#xff0c;实现了就得了~ 代码很简…

chatgpt赋能python:Python代码教你删除空文件夹——让你的电脑系统更健康

Python代码教你删除空文件夹——让你的电脑系统更健康 作为一名有着10年python编程经验的工程师&#xff0c;我发现在电脑里存储着太多的空文件夹时会对电脑系统造成负面影响。空文件夹占用了硬盘空间&#xff0c;这可能导致你的电脑运行缓慢或者存储空间不足。因此&#xff0…

Qt下使用Sqlite数据库实现图像的读写显示

系列文章目录 提示&#xff1a;这里是该系列文章的所有文章的目录 第一章&#xff1a; Qt连接Sqlite3并使用Qtableview实时显示数据&#xff0c;重写QSqlQueryModel实现文本居中 第二章&#xff1a; Qt下使用Sqlite数据库实现图片的读写显示 文章目录 系列文章目录前言一、初始…

python3.10在centos下安装以及配置

python在centos下安装以及配置 1.背景 centos下默认的都是python2.7下载需要更换为3.x使用&#xff0c;目前大部分应用都是基于pyhton3了 具体步骤&#xff1a; 先按装openssh 不安装会报错 而且要安装高版本 要不然不兼容 报错如&#xff1a; WARNING: pip is configured …

chatgpt赋能python:Python创建程序的SEO指南

Python创建程序的SEO指南 Python是一种流行的高级编程语言&#xff0c;被广泛用于开发Web应用程序、人工智能、数据分析和科学计算等领域。在创建Python程序时&#xff0c;也要考虑SEO因素&#xff0c;以优化网页在搜索引擎结果中的排名。本文将介绍如何创建具有SEO友好性的Py…

软考A计划-电子商务设计师-电子商务系统开发知识

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

【深入浅出 Spring Security(四)】登录用户数据的获取,超详细的源码分析

登录用户数据的获取 一、SecurityContextHolder 源码分析ListeningSecurityContextHolderStrategy 使用案例SecurityContextPersistenceFilter 说明 二、登录用户数据的获取三、总结 在【深入浅出Spring Security&#xff08;一&#xff09;】Spring Security的整体架构 中叙述…

Gradle 介绍,根据 Gradle 官方文档整理

这部分内容主要根据 Gradle 官方文档整理&#xff0c;做了对应的删减&#xff0c;主要保留比较重要的部分&#xff0c;不涉及实战&#xff0c;主要是一些重要概念的介绍。 Gradle 这部分内容属于可选内容&#xff0c;可以根据自身需求决定是否学习&#xff0c;目前国内还是使用…

回调函数与钩子函数的区别,另QT中connect函数的实现,lambda的使用

1、钩子函数是回调函数的一种 广泛来说两者都是一样的 严格来说 钩子函数的函数名早已被定义好&#xff0c;只是函数内部需要用户在应用层来定义&#xff0c; 1&#xff09;可以完全通过宏来实现系统是否调用该函数&#xff08;底层不封闭&#xff0c;修改宏的参数实现是否编…

chatgpt赋能python:Python动态分配内存:了解它的工作原理

Python动态分配内存&#xff1a;了解它的工作原理 Python是一种高级编程语言&#xff0c;它在处理内存和垃圾回收方面具有独特的方式。在Python中&#xff0c;内存分配和释放是动态的&#xff0c;并且由解释器自动完成。这意味着&#xff0c;Python程序员无需手动管理内存&…

C/C++/Qt 文件操作 效率比较

C/C/Qt 文件操作 & 效率比较 1 介绍2 比较结果2.1 Linux平台上运行程序普遍比Windows上快&#xff1b;Windows下VC编译的程序一般运行比MINGW&#xff08;MINimal Gcc for Windows&#xff09;快2.2 二进制文件的操作要快于文本文件&#xff1b;写文件的操作要快于读文件&a…

chatgpt赋能python:Python剔除函数的使用介绍

Python剔除函数的使用介绍 在Python编程中&#xff0c;剔除函数是非常有用的工具&#xff0c;它可以帮助程序员快速筛选出不符合条件的数据。本文将介绍剔除函数的概念和常见用法&#xff0c;以及如何有效使用剔除函数解决实际问题。 剔除函数的概念 剔除函数是指Python中的…

反射相关知识点

这里写目录标题 反射概述获取Class对象的三种方式总结具体代码演示 获取构造方法以及构造方法里的信息利用Class对象调用对应方法&#xff0c;以及用调取出来的Constructor&#xff08;构造器类&#xff09;创建对象具体代码 获取成员变量利用Class对象调用对应方法&#xff0c…

chatgpt赋能python:Python加速读取CSV文件的方法

Python加速读取CSV文件的方法 介绍 CSV文件是一种常见的数据格式&#xff0c;因为其简单和易于理解&#xff0c;被广泛应用于数据处理和数据分析。然而&#xff0c;在处理大型CSV文件时&#xff0c;读取速度会成为问题。Python作为一种高级编程语言&#xff0c;具有易学易用的…

AI+是企业管理软件的下一站和终点站

作为GPT综合症的表现&#xff0c;准备陆续写一点关于AI的文章。就从这一篇开始吧。 这篇文章原来是在2019年1月份我发在新浪微博和LinkedIn上的。刚搜了一下&#xff0c;全然不见了踪影。原因大家也都知道。但是&#xff0c;我想那个思想的小火花一定还在&#xff0c;在某处酝…

Jenkins概念及安装配置教程(三)

如何配置Jenkins&#xff1f; Jenkins 中的用户管理 要在 Jenkins 中管理用户&#xff0c;您应该导航到管理 Jenkins &#x1f86a; 配置全局安全。理想的选择是让 Jenkins 拥有自己的用户数据库。您可以创建一个只有读取权限的匿名用户。为您打算在下一步中添加的用户创建条…