美文网首页
Apache 相关设置

Apache 相关设置

作者: fangfc | 来源:发表于2018-12-06 22:08 被阅读0次

1. 防盗链设置

  • 防盗链是指 防止其他人的服务器通过连接获得 自己服务器上的特定资源, 一般小网站有可能为了减轻自己服务器的负担, 会盗链一些重要资源.

  • 设置

1.1 通过 SetEnvNoCase 和 access 实现

# 对访问站点的目录进行设置.
<Directory /data/xxx>
    # 定义白名单, 
        # SetEnvIfNoCase 和SetEnvIf 语义相同, 区别在于不会区分大小写
        # 用于 根据请求的属 设置性环境变量, 
    SetEnvIfNoCase Referer "http://123.com" local_ref
    SetEnvIfNocase Referer "http://abc.com" local_ref
    # 匹配指定文件的指令
    <FilesMatch "\.(txt|jpg|jpeg|zip|rar|gif|png)">
        # 只允许指定服务器可以访问该资源
        Order Allow, Deny
        Allow from env=local_ref
    </FilesMatch>
</Directory>

1.2 使用rewrite

  • rewrite_module 能够控制Apahce
RewriteEngine On
# RewriteCond 定义了规则发生条件, 写在 RewriteRule 规则前面, 通过 referer 变量, 判断图片资源是否合法.
RewriteCond %{HTTP_REFERER} !^http://123.net/.*$  [NC]
RewriteCond %{HTTP_REFERER} !^http://www.123.net/.*$  [NC]
# 用于阻止返回的图片
RewriteRule .*\.(gif|jpg|png)$ http://123.com/img/error.jpgs [R,NC]


2. 访问控制

2.1 主机访问控制

  • 通过 Require 提供各种功能允许或拒绝访问资源的不同方法,
  • 用法
require hsot address
    # address 限制必须是域名(或部分域名), 如果需要, 可以提供多个地址或域名
require ip ip.address
    # ip.address 是一个IP地址, 网络/网络掩码
-----例如
<RequireAll>
    Require all granted
    Require not ip 1.1.1.1
</RequireAll>
    # 表示地址(1.1.1.1) 的访客无法看到该指令涵盖的内容, 相反, 如果拥有的机器名, 而不是地址, 则应当使用功能 Require not host host.com
  • 访问控制
  • request host address

2.2 Order 控制

  • 控制默认访问以及评估Allow 和 Deny 的顺序

  • Order 指令用于控制一个三通范围控制系统,

    • 第一遍 Order 中参一的 处理所有 Allow/Deny 指令
    • 第二遍 解析其余指令(order/Deny)
    • 第三遍用于处理前两个都不匹配的
  • Order 可以是以下之一:

    • Order Allow,Deny
      • 首先对所有判断 Allow指令,否则请求都会被拒绝, 然后才会判断 Deny, 如果匹配到了 deny 项的内容, 最后默认情况下拒绝任何(Allow和 Deny 匹配到的) 请求.
    • Order Deny,Allow
      • 首先判断 Deny 指令, 如果匹配, 会拒绝该请求, 除非被 Allow 匹配到, 如果没有被(Allow/Deny) 匹配到, 所有的指令都会被允许.
  • 示例:

# 允许所有的访问进入
Order Deny,Allow
Allow from All

# 拒绝所有的访问进入
Order Allow,Deny
Deny from All

# 拒绝部分IP, 其余全部开放
Order Deny,Allow
Deny from ip1 ip2

# 允许部分IP进入, 拒绝剩下的所有
Order Allow,Deny
Allow from ip1 ip2
  • 部分理解错误的配置
# 该配置允许所有连接, 应为 Order deny,allow中 allow 是后一个配置, 所以覆盖 deny配置
Order deny,Allow
Allow from all
Deny from ip1

# 会拒绝所有连接, 应为 Order Allow,Deny 中 deny 是后一项配置, 会覆盖 前一项配置
Order Allow,Deny
Allow from ip1
Deny from all

2.3 FileMatch 正则

  • 包含正则表达式匹配文件名, 用于匹配指定文件.
  • 示例
<FileMatch ".*\.(gif|jpg|png)$">
    # 相关操作
    # 例如 访问控制
    Order Deny,Allow
    Deny from 192.168.10.10
    Allow from all
</FileMatch>

4. apache 中设置PHP 相关值

  • php_value NAME value

    • 设置指定的值, 用于 PHP_INI_ALL 或 PHP_INI_PEDIR 类型的指令, 要清除先前设定的值
  • php_flag NAME on|off

    • 用于设置布尔配置指令, 只使用与 PHP_INI_ALL和 PHP_INIPERDIR 类型指令.
  • php_admin_value NAME value

    • 功能和php_value一样, 不可以使用 .htaccess 文件, 只能在conf
  • php_admin_falg NAME on|off

    • 用来设置布尔值配置指令
php_admin_flag engine off
    # 用于关闭php 解析.

5. User_Agent

  • 使用Rewrite 配合 User_Arent 过滤 允许连接的请求
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]
    RewriteCond %{HTTP_USE_AGENT} .*chrome.* [NC]
    Rewrite .* - [F]
</IfModule>

END

相关文章

  • Apache 相关设置

    1. 防盗链设置 防盗链是指 防止其他人的服务器通过连接获得 自己服务器上的特定资源, 一般小网站有可能为了减轻自...

  • RaspberryPI——使用WordPress构建LAMP网页

    LAMP:Linux,Apache,MySQL,PHP 安装相关软件: 设置Apache网页服务器 sudo ap...

  • Java中常用的工具类总结

    1 . Apache相关IOUtils类 2 . Apache相关FileUtils 3. Apache相关org...

  • 树莓派相关知识

    系统相关 挂载 U 盘 开机任务 在 exit() 前添加代码 apche apache2 用户认证 需要先设置密...

  • Apache相关

    1、首先安装Django和Apache 腾讯云debian9安装pip和Djangosudo apt-get up...

  • Apache相关

    1df ServerName "www.lyjohn....

  • Apache相关

    本机自带Apache服务器的相关配置位于 /private/etc/apache2/ 目录下,修改httpd.co...

  • Apache相关

    参考1:Apache 配置文件管理参考2:Apache配置文件详解之httpd.conf 一、Apache配置概述...

  • 使用LoadRunner监控Apache的步骤

    一、Apache上的设置 打开/conf/httpd.conf,进行如下修改: 1、设置允许查看Apache运行状...

  • linux 运维心得

    一、Apache apache 相关安装配置 命令等 apache 启动 停止 service httpd sta...

网友评论

      本文标题:Apache 相关设置

      本文链接:https://www.haomeiwen.com/subject/smbacqtx.html