当前位置: 首页 > 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

访问

http://www.lryc.cn/news/283715.html

相关文章:

  • 【话题】边缘计算的挑战和机遇
  • react之unpkg.com前端资源加载慢、加载不出
  • C++类与对象【对象模型和this指针】
  • 策略模式在工作中的运用
  • 【go】依赖倒置demo
  • C++ //练习 2.5 指出下述字面值的数据类型并说明每一组内几种字面值的区别:
  • 必示科技助力中国联通智网创新中心通过智能化运维(AIOps)通用能力成熟度3级评估
  • python数字图像处理基础(九)——特征匹配
  • k8s的对外服务ingress
  • [足式机器人]Part2 Dr. CAN学习笔记- Kalman Filter卡尔曼滤波器Ch05-3+4
  • 关于前端面试中forEach方法的灵魂7问?
  • AI小程序添加深度合成类目解决办法
  • C/C++ BM6判断链表中是否有环
  • 【Java 设计模式】结构型之适配器模式
  • 使用函数计算,数禾如何实现高效的数据处理?
  • 卷积和滤波对图像操作的区别
  • 李沐深度学习-线性回归从零开始
  • CentOS 8.5 安装图解
  • 好用的流程图工具
  • 数据结构:链式栈
  • openssl3.2 - 官方demo学习 - mac - gmac.c
  • HugggingFace 推理 API、推理端点和推理空间相关模型部署和使用以及介绍
  • python的tabulate包在命令行下输出表格不对齐
  • LLM之幻觉(二):大语言模型LLM幻觉缓减技术综述
  • C# 使用多线程,关闭窗体时,退出所有线程
  • 数据结构实验6:图的应用
  • Spring Boot整合JUnit
  • uniapp写小程序实现清除缓存(存储/获取/移除/清空)
  • js菜单隐藏显示
  • 学习Spring的第五天(Bean的依赖注入)