问题标签 [content-adaptation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1574 浏览

proxy - Squid ICAP 重写内容

我有以下需求:

  1. 网络应用程序在http://mything.com/.
  2. 反向代理服务器位于http://mything.com/proxy/
    1. 反向代理应该代理:http://mything.com/proxy/http://bbc.co.uk/例如。
  3. 反向代理应重写源页面 ( ) 中的所有链接、src、href 等,以htp://bbc.co.uk将它们从http://mything.com/proxy/$1.

我们有 90% 的 Ruby 工作实现,开发为Rack应用程序,一系列 8 个中间件可以完成各种工作:

  • 重写cookie域
  • 从我们的网站注入一个 javascript 块
  • 重写链接以适应代理。

诚然,我们的 Ruby 版本还不错,但是处理一个页面大约需要一秒钟,这速度非常慢,而且根本无法融合。当我们将 SSL 引入混合时,它会变得更糟,并且管理层正在讨论剥离所有 SSL,并且只使用 http。(这自然是目光短浅,而且非常愚蠢。)

这类问题必须通过 Squid 等工具和 ICAP 等协议草案得到更广泛的解决。

我想放弃我们自己开发的解决方案,因为它是持续痛苦的根源,而且速度很慢

我刚来了解SquidContent Adaptation功能,但还没有找到合适的方法让它发挥作用。

我可以看到以下我无法解决的问题:

  1. 如何从原始请求 URI 中提取 URL 组件?即我怎样才能把.../proxy/(.*)它用作后端地址?
  2. 如何在 ICAP 程序中重写 cookie?即 ICAP 内容改编程序是否收到完整的请求?
  3. 如何使用 ICAP 重写 url、链接等?(Squirm看起来很有希望,但看起来事情必须进行硬编码(参见第 1 点。)即是否有任何更智能的工具可以简单地使用正则表达式/等?

我知道这个问题有被标记为“没有研究证据”的风险,但我已经处于我能够确定的范围内,而无需花费数天(或看起来如此)来学习鱿鱼的错综复杂,当我唯一需要的是重写一些内容时!

0 投票
1 回答
1546 浏览

ssl - 如何为内容适应设置 SSL 碰撞

我需要设置一个反向代理来拦截 HTTPS 请求,解密它们,执行主体适应并最终转发重新加密的请求。

我现在使用 Squid,它为 eCAP 插件和 ssl 碰撞提供支持:http ://wiki.squid-cache.org/Features/SslBump

如果我理解得很好,通过配置 SSL 碰撞,我可以完全按照我上面所说的去做。但是,ssl 碰撞暂时不起作用。

这是我的鱿鱼配置:

客户端,当尝试向 https://127.0.0.1:8080 发送请求时,我收到以下错误:

如果目标服务器正在运行 HTTPS,则会发生这种情况。看起来 Squid 正在尝试建立一个简单的 HTTP 连接而不是 HTTPS 请求。确实,服务器端我遇到了SSL23_GET_CLIENT_HELLO错误。

我的配置有什么问题吗?SSL 凹凸的工作原理有什么我错过的吗?