当前位置: 首页 > news >正文

Apache安全及优化

配置第一台虚拟机                                     
VM1网卡  yum仓库 挂载磁盘
上传3个软件包到/目录

到/目录下进行解压缩

tar xf apr-1.6.2.tar.gz

tar xf apr-util-1.6.0.tar.gz

tar -xjf httpd-2.4.29.tar.bz2

mv apr-1.6.2 httpd-2.4.29/srclib/apr

mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

安装服务

yum -y install \

gcc \

gcc-c++ \

make \

pcre-devel \

expat-devel \

perl \

zlib-devel \

zlib

切换目录

cd httpd-2.4.29

安装服务

./configure \

--prefix=/usr/local/httpd \

--enable-so \

--enable-rewrite \

--enable-charset-lite \

--enable-cgi

make && make install

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

vi /etc/init.d/httpd

# chkconfig: 35 85 21  //35级别自动运行  第85个启动 第21个关闭

# description: Apache is a World Wide Web server

chkconfig --add httpd

vi /usr/local/httpd/conf/httpd.conf

ServerName

ln -s /usr/local/httpd/conf/httpd.conf /etc/

ln -s /usr/local/httpd/bin/* /usr/local/bin/

systemctl stop firewalld.service

setenforce 0

service httpd start

netstat -anpt | grep 80

重新编译压缩模块

-------- 以下配置网页压缩--到之前的源代码目录----------

cd httpd-2.4.29

./configure   --enable-deflate                    //增加压缩模块

重新安装

make && make install

修改配置文件

vi /etc/httpd.conf

搜索mod_deflate.so

LoadModule deflate_module modules/mod_deflate.so

将前面的#号去掉

重启服务

service httpd restart

查看

apachectl -D DUMP_MODULES | grep deflate

------在配置文件末尾新增-------

修改配置文件

vi /etc/httpd.conf

文件末尾插入下面命令

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript image/png        image/jpeg application/x-httpd-php application/x-javascript    #文件类型

DeflateCompressionLevel 9   #压缩级别

SetOutputFilter DEFLATE    #压缩类型

-----测试页----

切换目录

cd /usr/local/httpd/htdocs/

ll查看 删除所有

cd /usr/local/httpd/htdocs/

vim index.html

<html>

<head>

<title>--压缩测试页--</title>

</head>

<body><h1>这是一个测试网页内容压缩的页面!!This is test Page!!</h1>

<img src=b.jpg / >

</body>

</html>

修改配置文件  将倒数第四行修改为1.jpg

将1.jpg图上上传到远程连接软件

访问 192.168.1.100

-------注意中文乱码问题解决方法如下-----

vi /etc/httpd.conf

插入到最后一行

AddDefaultCharset utf-8  

将图片上传到/目录

 再从/目录移到/usr/local/httpd/htdocs/

-----------配置网页缓存---------

cd /usr/local/httpd/

./bin/apachectl -D DUMP_MODULES | grep expires

service httpd stop

在文件最后新增

vi /etc/httpd.conf

<IfModule mod_expires.c>

        ExpiresActive On

        ExpiresDefault "access plus 60 seconds"

</IfModule>

----------------------------------------------------------------------------------------------

配置第二台虚拟机                                     

配置第二台:VM1网卡  yum仓库 挂载好磁盘

上传3个软件包到/目录下

到/目录下进行压缩

tar xf apr-1.6.2.tar.gz

tar xf apr-util-1.6.0.tar.gz

tar -xjf httpd-2.4.29.tar.bz2

mv apr-1.6.2 httpd-2.4.29/srclib/apr

mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

安装好服务

yum -y install \

gcc \

gcc-c++ \

make \

pcre-devel \

expat-devel \

perl \

zlib-devel \

zlib

cd httpd-2.4.29

安装好服务

./configure \

--prefix=/usr/local/httpd \

--enable-so \

--enable-rewrite \

--enable-charset-lite \

--enable-cgi

--------------------------------------------------------------------------

make && make install   #

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd  #

vi /etc/init.d/httpd  #

# chkconfig: 35 85 21  //35级别自动运行  第85个启动 第21个关闭  #

# description: Apache is a World Wide Web server  #

chkconfig --add httpd  #

vi /usr/local/httpd/conf/httpd.conf   #

ServerName   #

ln -s /usr/local/httpd/conf/httpd.conf /etc/  #

ln -s /usr/local/httpd/bin/* /usr/local/bin/  #

systemctl stop firewalld.service   #

setenforce 0   #

service httpd start    #

netstat -anpt | grep 80    #

-------配置防盗链--------
到第二台虚拟机中

cd /httpd-2.4.29/

安装下一个服务

./configure --enable-expires

编译安装

make && make install

cd /usr/local/httpd/htdocs/

ll查看

编辑配置文件

vim index.html

插入

<html>

<body>

<h1> Test Page! </h1>

<img src="http://192.168.1.100/1.jpg">

</body>

</html>

访问 192.168.1.127

./bin/apachectl -D DUMP_MODULES | grep rewrite

vi /etc/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

将第二张图片命名为error.jpg  上传到第一台虚拟机中

------针对目录做防盗链处理------------在htdocs目录属性最后位置新增---

 vim /etc/httpd.conf

搜索AllowOverride None

插入

        RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://192.168.1.100/*

        RewriteCond %{HTTP_REFERER} !^http://bc.com/.*$ [NC]

        RewriteCond %{HTTP_REFERER} !^http://bc.com$ [NC]

        RewriteCond %{HTTP_REFERER} !^http://www.bc.com/.*$ [NC]

        RewriteCond %{HTTP_REFERER} !^http://www.bc.com$ [NC]

        RewriteRule .*\.(gif|jpg|swf|png)$ http://192.168.1.100/error.jpg [R,NC] //需要重定向到一个盗链主机可以访问的位置,否则看不出效果来。

重启服务

systemctl restart httpd

访问

相关文章:

Apache安全及优化

配置第一台虚拟机 VM1网卡 yum仓库 挂载磁盘 上传3个软件包到/目录 到/目录下进行解压缩 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar -xjf httpd-2.4.29.tar.bz2 mv apr-1.6.2 httpd-2.4.29/srclib/apr mv apr-util-1.6…...

【话题】边缘计算的挑战和机遇

边缘计算是一种新的计算范式&#xff0c;其核心是在网络边缘处理数据&#xff0c;而不是传统的中心式云计算模式。这种计算方式的兴起得益于物联网&#xff08;IoT&#xff09;的普及和丰富的云服务的成功。 机遇&#xff1a; 响应时间优化&#xff1a;由于数据处理更接近数据…...

react之unpkg.com前端资源加载慢、加载不出

文章目录 react之unpkg.com前端资源加载慢什么是unpkg.com加载慢原因解决方案替换国内cdn在 package.json 中打包进来 react之unpkg.com前端资源加载慢 什么是unpkg.com unpkg 是一个内容源自 npm 的全球快速 CDN。 作为前端开发者&#xff0c;我们对 unpkg 都不陌生&#x…...

C++类与对象【对象模型和this指针】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;C从基础到进阶 &#x1f384;1 C对象模型和this指针&#x1f336;️1.1 成员变量和成员函数分开存储&#x1f336;️1.2 this指针概念&#x1f336;️1.3 空指针访问成员函数&#x1f336;…...

策略模式在工作中的运用

前言 在不同的场景下&#xff0c;执行不同的业务逻辑&#xff0c;在日常工作中是很寻常的事情。比如&#xff0c;订阅系统。在收到阿里云的回调事件、与收到AWS的回调事件&#xff0c;无论是收到的参数&#xff0c;还是执行的逻辑都可能是不同的。为了避免&#xff0c;每次新增…...

【go】依赖倒置demo

文章目录 前言1 项目目录结构&#xff1a;2 初始化函数3 router4 api5 service6 dao7 Reference 前言 为降低代码耦合性&#xff0c;采用依赖注入的设计模式。原始请求路径&#xff1a;router -> api -> service -> dao。请求的为实际方法&#xff0c;具有层层依赖的…...

C++ //练习 2.5 指出下述字面值的数据类型并说明每一组内几种字面值的区别:

C Primer&#xff08;第5版&#xff09; 练习 2.5 练习 2.5 指出下述字面值的数据类型并说明每一组内几种字面值的区别&#xff1a; ( a ) ‘a’, L’a’, “a”, L"a" ( b ) 10, 10u, 10L, 10uL, 012, 0xC ( c ) 3.14, 3.14f, 3.14L ( d ) 10, 10u, 10., 10e-2…...

必示科技助力中国联通智网创新中心通过智能化运维(AIOps)通用能力成熟度3级评估

2023年12月15日&#xff0c;中国信息通信研究院隆重公布了智能化运维AIOps系列标准最新批次评估结果。 必示科技与中国联通智网创新中心合作的“智能IT故障监控定位分析能力建设项目”通过了中国信息通信研究院开展的《智能化运维能力成熟度系列标准 第1部分&#xff1a;通用能…...

python数字图像处理基础(九)——特征匹配

目录 蛮力匹配&#xff08;ORB匹配&#xff09;RANSAC算法全景图像拼接 蛮力匹配&#xff08;ORB匹配&#xff09; Brute-Force匹配非常简单&#xff0c;首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行&#xff08;描述符&#xff09;距离测试&#x…...

k8s的对外服务ingress

1、service的作用体现在两个方面 &#xff08;1&#xff09;集群内部&#xff1a;不断跟踪pod的变化&#xff0c;更新deployment中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制 &#xff08;2&#xff09;集群外部&#xff1a;类似于负载均衡器&#xff…...

[足式机器人]Part2 Dr. CAN学习笔记- Kalman Filter卡尔曼滤波器Ch05-3+4

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - Kalman Filter卡尔曼滤波器 Ch05-34 3. Step by step : Deriation of Kalmen Gain 卡尔曼增益/因数 详细推导4. Priori/Posterrori error Covariance Martix 误差协方差矩阵 3. Step by step :…...

关于前端面试中forEach方法的灵魂7问?

目录 前言 一、forEach方法支持处理异步函数吗&#xff1f; 二、forEach方法在循环过程中能中断吗&#xff1f; 三、forEach 在删除自己的元素后能重置索引吗&#xff1f; 四、forEach 的性能相比for循环哪个好&#xff1f; 五、使用 forEach 会不会改变原来的数组&#…...

AI小程序添加深度合成类目解决办法

基于文言一心和gpt等大模型做了一个ai助理小程序&#xff0c;在提交“一点AI助理”小程序时&#xff0c;审核如下&#xff1a; 失败原因1 审核失败原因 你好&#xff0c;你的小程序涉及提供提供文本深度合成技术 (如: AI问答) 等相关服务&#xff0c;请补充选择&#xff1a;深度…...

C/C++ BM6判断链表中是否有环

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 做了一堆单链表单指针的题目&#xff0c;这次是个双指针题&#xff0c;这里双指针的作用非常明显。 题目 判断给定的链表中是否有环。如果有环则返回true&#xff0c;否则返回fal…...

【Java 设计模式】结构型之适配器模式

文章目录 1. 定义2. 应用场景3. 代码实现结语 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;用于将一个类的接口转换成客户端期望的另一个接口。这种模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。在本文中&#xff0c;我…...

使用函数计算,数禾如何实现高效的数据处理?

作者&#xff1a;邱鑫鑫&#xff0c;王彬&#xff0c;牟柏旭 公司背景和业务 数禾科技以大数据和技术为驱动&#xff0c;为金融机构提供高效的智能零售金融解决方案&#xff0c;服务银行、信托、消费金融公司、保险、小贷公司等持牌金融机构&#xff0c;业务涵盖消费信贷、小…...

卷积和滤波对图像操作的区别

目录 问题引入 解释 卷积 滤波 问题引入 卷积和滤波是很相似的&#xff0c;都是利用了卷积核进行操作 那么他们之间有什么区别呢&#xff1f; 卷积&#xff1a;会影响原图大小 滤波&#xff1a;不会影响原图大小 解释 卷积 我们用这样一段代码来看 import torch.nn as …...

李沐深度学习-线性回归从零开始

# 核心Tensor&#xff0c;autograd import torch from IPython import display import numpy as np import random from matplotlib import pyplot as pltimport syssys.path.append(路径) from d2lzh_pytorch import * backward()函数:一次小批量执行完在进行反向传播 线性回归…...

CentOS 8.5 安装图解

特特特别的说明 CentOS发行版已经不再适合应用于生产环境&#xff0c;客观条件不得不用的话&#xff0c;优选7.9版本&#xff0c;8.5版本次之&#xff0c;最次6.10版本&#xff08;比如说Oracle 11GR2就建议在6版本上部署&#xff09;&#xff01; 引导和开始安装 选择倒计时结…...

好用的流程图工具

分享工作中常用的装逼工具 目前市面上的流程图或者思维导图工具挺多的&#xff0c;但是有的会限制使用数量或者收费&#xff0c;典型的有processon、Xmind&#xff0c;推荐今天Mermaid(官网)。 快速上手 中文教程&#xff1a;Mermaid 初学者用户指南 | Mermaid 中文网。我们选择…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现&#xff0c;包括选择排序、冒泡排序、插入排序、快速排序和归并排序&#xff0c;以及每种算法的特点和复杂度分析 1. 选择排序&#xff08;Selection Sort&#xff09; 核心思想&#xff1a;每次从未排序部分选择最小元素&#xff0c;与未排…...