联系方式

电话:150-02886853

 

 点击这里给我发消息      点击这里给我发消息

 

QQ: 358207017

 

网址: www.dcwlkj.cn

 

Email: dcwlkj@dcwlkj.cn

 

首 页>技术信息>技术信息技术信息

ROS Web-Proxy缓存使用U盘TF卡硬盘存储解决办法
作者: QQ:86698456  点击次数:   添加时间: 2017-04-08

 

ROS Web-Proxy缓存使用U盘TF卡硬盘存储解决办法:

 

一些特殊网络环境,可能会用到 Web 缓存功能,需要将访问过的静态页面缓存到硬盘中,做二次访问。由于系 统盘空间有限,我们可以使用 U 盘做为网页数据的外部存储。
下面在 Store 目录下添加一个名 Proxy 的规则,选择类型为 web-proxy,指定硬盘为 usb1。设置 Web-Proxy 的配置,这里可以看到 Cache Drive 会根据 Store 的配置,调用 usb1 的外部存储
 
 
Web 代理应用事例
通过使用 web-proxy 禁止网站和禁止下载 首先配置 web-proxy,配置参数如下:
 
[RouterOS@ROSABC] /ip proxy> prin enabled: yes
src-address: 0.0.0.0 port: 8080
parent-proxy: 0.0.0.0 parent-proxy-port: 0
cache-drive: system
cache-administrator: “webmaster” max-cache-size: none
cache-on-disk: no
max-client-connections: 1200 max-server-connections: 1200
max-fresh-time: 1d serialize-connections: no
always-from-cache: no
cache-hit-dscp: 4
 
现在,设置透明传输数据重定向,将所有访问 80 端口的数据重定向到 web-proxy 的 8080 端口上:
/ip firewall nat
chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080
 
确定你路由器本地的 Proxy 没有打开代理,并禁止外网通过路由器代理上网:
/ip firewall filter
chain=input in-interface= src-address=0.0.0.0/0 protocol=tcp dst-port=8080 action=drop
 
设置禁止访问网站,该设置将禁止访问 http://www.163.com
 
/ip proxy access
dst-host=www.163.com action=deny
 
我们可用阻止文件如“.mp3, .exe, .dat, .avi”的下载。
 
/ip proxy access
path=*.exe action=deny
path=*.mp3 action=deny
path=*.zip action=deny
path=*.rar action=deny
 
同样我可用阻止所有含“mail”的关键字链接
 
/ip proxy access
dst-host=:mail action=deny
 
HTTP 方式(WEB代理中HTTP的方法选择)
HTTP 方式
 
OPTIONS
这个方法是一个关于客户与 Request-URI 定义的服务器之间的链上的可用通信选项信息的请求。这个方法允许客户决定 选项以及(或)与没有初始化任何资源检索的资源相关的需求。
 
GET
这个方法检索 Request-URI 定义的任何星系。如果 Request-URI 设计数据处理过程然后 GET 方法的回应应该包含处 理产生的数据而不是处理过程的源代码,除非源是这个处理的结果。
 
如果请求信息包含一个 If-Modified-Since,If-Unmodified-Since,If-Match, If-None-Match 或 If-Range 标题字段,那么 GET 方法就会成为有条件的 GET。有条件的 GET 方法用于通过指定该实体的传送应该仅在有条件标题字 段描述的环境下发生来减少网络流量。
 
如果请求信息包含 Range 标题字段,那么 GET 方法就会成为一个部分 GET。这个部分 GET 方法通过只请求不传送已被 客户包含的数据的实体的一部分来减少不必要的网络使用。
 
当且仅当达到 HTTP 缓存要求时一个 GET 请求的回应为可缓存的。
 
HEAD
这个方法共享 GET 方法的所有特征除了服务器不一定必须在回应中返回一个信息体。它检索蕴涵在导致广泛应该于测试合 法的超文本连接,可访问性,及最近修改的请求中的实体的元信息。
 
HEAD 请求的回应可能以这样的途径仍为可缓存的:包含于响应的信息可能用于更新先前缓存的被 Request-URI 识别的 实体。
 
POST
这个方法需要起源服务器接受包含在请求中的实体,就像 Request-URI 定义的新的下级资源一样。
 
POST 方法执行的实际动作由起源服务器判定,并且通常是依赖 Request-URI 的。
 
POST 方法的回应不可缓存,除非回应包含合适的 Cache-Control 或 Expires 标题字段。
 
PUT
这个方法需要被包含的实体存储在提供的 Request-URI 中。如果另一个实体存在于指定的 Request-URI 中,被包含的 实体应该被认为是存在于起源服务器上的新版本。如果 Request-URI 没有指向一个存在的资源,那么起源服务器应该创 建一个有 URI 的资源。
 
如果请求通过了一个缓存并且 Request-URI 识别了一个或多个当前缓存的实体,那么这些实体就应作为过时的处理。这 个方法的回应不可缓存。
 
TRACE
这个方法调用一个远程的,请求信息的应用层循环。最终的请求接受者应该把接受到的信息作为一个 200(OK)回应的实 体正文反射给客户。最终接受者是起源服务器或者第一个代理或者在请求中接受 0 值的 Max-Forwards 的网关。一个 TRACE 请求不一定要包含一个实体。
 
 
缓存查检 (WEB代理的缓存检查)
缓存查检
 
操作路径: /ip proxy lookups 这个目录相识从缓存读取的对象的统计数据(缓存检查)
 
属性描述
denied (只读: 整型) – 被访问列表拒绝的请求数
expired (只读: 整型) -在缓存中发现的过期请求数,这样将会被外部服务器请求
no-expiration-info (只读: 整型) – 接受没有能与请求相比较的信息的页面的有条件请求
non-cacheable (只读: 整型) – 来自外部服务器的无条件请求数(由于它们的缓存被缓存访问列表拒绝了)
not-found (只读: 整型) -没有在缓存中发现的请求数,这样将被一个外部服务器请求(或者是父级代理,如果进行过相 应的配置)
successes (只读: 整型) – 在缓存中发现的请求数
 
补充工具
 
操作路径: /ip proxy
 
web 代理有附加的命令来处理用于缓存目的非系统驱动器和从严重的文件系统错误中恢复代理。
check-drive – 检查非系统缓存驱动器的错误
clear-cache – 删除存在缓存并建立新缓存目录
format-drive -格式化非系统缓存驱动器并为容纳缓存做准备
 
缓存插页
 
操作路径: /ip proxy inserts 这个目录显示存储在缓存中的对象的统计数据(缓存插页)
 
属性描述
 
denied (只读: 整型) – 被缓存列表拒绝的插页数
errors (只读: 整型) – 磁盘或其他系统相关的错误数量
no-memory (只读: 整型) – 由于没有足够内存而没有存贮的对象数量
successes (只读: 整型) – 成功缓存插页的数量
too-large (只读: 整型) – 过大而不能存储的对象数量
 
代理监视
 
命令名: /ip proxy monitor
 
这个命令显示代理服务器的一些状态
 
属性描述
 
cache-used (只读: 整型) – 用于缓存的磁盘空间
hits (只读: 整型) – 在缓存中找到并开始被服务的请求数 hits-sent-to-clients (只读: 整型) – 由缓存服务的数据量 ram-cache-used (只读: 整型) – 用于存贮缓存的 RAM 空间
received-from-servers (只读: 整型) – 从其他服务器接受的数据量
requests (只读: 整型) – 已处理的请求量
sent-to-clients (只读: 整型) – 发送到该代理服务器客户的数据量
status (只读: 文本; default: stopped) – 显示代理服务器的状态信息
stopped – 代理被禁用且没有运行
rebuilding-cache – 代理被启用并运行,存在的缓存被核实
running -代理被启用并运行
stopping – 代理关闭(最大 10s)
clearing-cache – 代理停止,缓存文件被删除
creating-cache – 代理停止,缓存目录结构被创建
dns-missing – 代理被启用,但没有运行因为未知的 DNS 服务器(你应该在/ip dns 指定)
invalid-address -代理被启用,但没有运行,因为非法的地址(你应该改变地址或端口)
invalid-cache-administrator -代理被启用,但没有运行因为非法的缓存管理员的 e-mail 地址
invalid-hostname – 代理被启用,但没有运行因为非法的主机名(你应该设置一个合法的主机名)
error-logged – 主机没有运行因为未知的错误。这个错误会被日志标记为系统错误。请发把错误、描述以及如何发生的 送给我们
reserved-for-cache (整型) – 最大缓存大小,可以访问 web 代理
total-ram-used (只读: 整型) – 用于代理的总 RAM 大小
uptime (只读: 时间) – 代理最近一次启动后的时间
 
缓存管理
 
操作路径: /ip web-proxy cache
 
缓存访问列表指定哪个请求(域、服务器、页面)应该由 web 代理本地缓存,而哪个不用。这个列表与 web 代理访问列表 完全一样地执行。
 
属性描述
 
action (allow | deny; 默认: allow) – 指定对已匹配包的动作
allow – 允许请求缓存对象
deny – 不允许请求缓存对象
dst-address (IP 地址/子网掩码) – IP 包的目的地址
dst-host (wildcard) – 用于连接到目标服务器的 IP 地址或 DNS 名(这是在指定特定网页到达的端口与路径之前用户写 在他的浏览器中的字符串)
dst-port (端口{1,10}) -包到达的列表或端口范围
hits (只读: 整型) – 被规则修正过的请求数
local-port (端口) -指定包接受的 web 服务器端口。这个值应该与 web 代理监听的其中一个匹配
method (any | connect | delete | get | head | options | post | put | trace) – 用于请求中的 HTTP 方法(参见本文 档最后的 HTTP 方法部分)
path (wildcard) – 目标服务器中的被请求页面名(例如,特定 web 页面名或不含它存在的服务器名的文档)
src-address (IP 地址/子网掩码) – IP 包的源地址
 
直接访问列表
 
操作路径: /ip proxy direct
 
如果指定了 parent-proxy 属性,就很可能告诉代理服务器是否尝试通过请求到父级代理或通过直接连接到被请求的服务 器以解决问题。直接访问列表就像前一章节描述的代理访问列表一样管理,除了 action 参数。
 
属性描述
 
action (allow | deny; 默认: allow) -指定对已匹配包的动作
allow -总是直接绕过父级路由器解决匹配的请求
deny – 通过父级代理以解决匹配请求。如果没有指定则这个与 allow 的效果相同
dst-address (IP address/netmask) – IP 包的目的地址
dst-host (wildcard) – 用于连接到目标服务器的 IP 地址或 DNS 名(这是在指定特定网页到达的端口与路径之前用户写 在他的浏览器中的字符串)
dst-port (port{1,10}) -包到达的列表或端口范围
hits (只读: 整型) -被规则修正过的请求数
local-port (port) -指定包接受的 web 服务器端口。这个值应该与 web 代理监听的其中一个匹配
method (any | connect | delete | get | head | options | post | put | trace) – 用于请求中的 HTTP 方法(参见本文 档最后的 HTTP 方法部分)
path (wildcard) – 目标服务器中的被请求页面名(例如,特定 web 页面名或不含它存在的服务器名的文档)
src-address (IP address/netmask) – IP 包的源地址
 
注:不像访问列表,直接代理访问列表有与 deny 相等价的默认动作。当没有规则指定或一个特定请求没有匹配任何规则 时发生。
 
访问列表
 
操作路径: /ip proxy access
 
访问列表像普通防火墙规则一样配置。规则从顶到底的处理。第一条匹配的规则指定对连接做何处理。一共有 6 个指定匹配 显示的分类器。如果没有指定其中任何一个,那么特定规则将与每一条连接进行匹配。
 
如果连接被一条规则匹配,该规则的 action 属性就指定是否连接应被允许。如果特定连接没有匹配任何规则,那么它将被 允许。
 
属性描述
 
action (allow | deny; default: allow) -指定通过或拒绝已匹配的包
dst-address (IP address/netmask) – IP 包的目的地址
dst-host (wildcard) – IP 地址或用于连接目标服务器的 DNS 名(这是一个在指定端口与到特定网址路径之前写在他的浏 览器的字符串)
dst-port (port{1,10}) – 包到达的列表或端口范围
hits (只读: 整型) – 被规则修正的请求数
local-port (port) -指定包接受的 web 代理端口。这个值应该匹配 web 代理监听的其中一个端口
method (any | connect | delete | get | head | options | post | put | trace) -用于请求的 HTTP 方法(参见本文 档最后面的 HTTP 方法部分)
path (wildcard) -在目标服务器中的被请求页面名(例如,特定网页的名称或不含它存在的服务器名称的文档)
redirect-to (文本) – 以防访问被该规则拒绝,用户应被重定向到这里指定的 URL
src-address (IP address/netmask) – IP 包的源地址
 
注:统配符属性(dst-host 和 dst-path)匹配一个完整的字符串(例如,如果设置为”example”,则他们不会匹配 “example.com”)。可用的统配符’*'(匹配任何数量的任何字符)以及’–’(匹配任何一个字符)。这里也接受常规表达, 但是如果属性被当作常规表达处理,那就应该以冒号(‘:’)开始。
 
在常规表达式中的低命中:
 
– \ 符号顺序用于在控制台中输入字符
– . 样式仅表示 . (在常规表达式中单独一个点表示任何符号)
– 表示在给定样式之前不允许任何符号,我们在样式的开头使用^符号
– 指定在给定样式之后不允许任何符号,我们在样式的结尾使用$
– 输入[ or ]符号,你可以用反斜杠对它们转义
 
强烈建议拒绝所有 IP 地址除了在路由器之后的那些,因为代理仍然可以访问你的 internal-use-only(企业网)web 服务 器。在 Firewall Manual 中查询如果保护你的路由器。