标签: squid

使用Http代理修改图像

愚人节即将到来.我想玩这个恶作剧,我们使用http代理修改图像来通过代理.我被告知有ISA/Squid的脚本/附加组件可以做到这一点,但我自己找不到多少.

理想情况下,我们希望将另一个图像叠加在通过代理发出的每个.gif/.jpeg/.png之上.唯一的问题是我不知道该怎么做!

如果我有我的选择,我宁愿用ISA而不是鱿鱼,但乞丐不能选择.如果你能想到另一种方式,我也会对此持开放态度!

squid isaserver

5
推荐指数
1
解决办法
3496
查看次数

如何在Squid3 ubuntu中记录完整的URL?

我已经将squid3代理安装到ubuntu服务器中,一切正常但是当我检查日志文件时,Squid会记录url但是如果url有(?)他的日志记录只是之前的内容?标记并跳过它之后的内容.

Exp,如果我尝试访问此网址:http://www.youtube.com/results? search_query = bmw

鱿鱼会将其记录为:http://www.youtube.com/results

我在这里问我如何配置squid3来记录完整的URL?

谢谢,优素福

ubuntu proxy logging squid

5
推荐指数
1
解决办法
9121
查看次数

将nginx主机和proxypass重写为squid

我想实现以下目标:

请求主持人:

http://example.com.proxy.myserver.com

应该改写成

http://example.com

并通过nginx proxypass传递给squid服务器.

server {
  listen 80;
  server_name ~^(?<subdub>.*)\.proxy\.myserver\.com$;
  location / {
    rewrite ^ $scheme://$subdub break;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  Host $scheme://$subdub;
    proxy_set_header  Request-URI $scheme://$subdub;
    proxy_pass http://localhost:3128;
    proxy_redirect off;
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,nginx会立即将此请求重定向到http://example.com

任何想法如何让这个工作?

rewrite nginx squid proxypass

5
推荐指数
1
解决办法
3442
查看次数

HTTPS代理,支持分块编码请求

我正在开发一个简单的HTTPS代理(用Python编写),它接收POST/GET请求/响应,应用一些转换,最后将结果转发给收件人.我需要以"流"方式处理分块编码的请求/响应,这意味着只要接收到一个块,代理就会转换它并将其转发给接收者.

在决定支持分块编码请求之前,我一直在使用mitmproxy http://mitmproxy.org/并且它工作得很好.不幸的是,我注意到在让我处理响应/请求之前它一直等到收到整个主体.

如何实现支持分块编码请求/响应的代理?你有没有人做过这样的事情?

谢谢

编辑:更多信息我的使用案例

我需要处理POST请求和GET响应.

POST请求中,我收到一个JSON对象,我必须加密它的一些值.

GET响应中,我收到一个JSON对象,我必须解密它的一些值.

到目前为止,以下代码完美地运行:

 def handle_request(self, r):
    if(r.method=='POST'):
       // encryption of r.get_form_urlencoded()

 def handle_response(self, r):
    if(r.request.method=='GET'):
       // decryption of r.content
Run Code Online (Sandbox Code Playgroud)

如何用单个块做同样的事情?

编辑:更新

在评估了不同的解决方案之后,我决定选择Squid(代理)+ ICAP(内容改编).

我已经成功配置了Squid,性能非常好.不幸的是,我找不到合适的ICAP服务器(如果可能的话,用Python)来进行内容改编(修改).我认为这一个https://github.com/netom/pyicap可以完成这项工作,但看起来它没有读取myPOST请求的正文.

你们知道我可以和Squid一起使用的Python ICAP服务器吗?

谢谢

apache proxy squid

5
推荐指数
1
解决办法
1197
查看次数

Squid处理并发缓存未命中

我们使用Squid缓存从我们的Web服务器卸载流量,即.它被设置为反向代理,在它们到达我们的Web服务器之前响应入站请求.

当我们对同一个不在缓存中的请求的并发请求进行blitzed时,Squid会将所有请求代理到我们的Web("origin")服务器.对我们来说,这种行为并不理想:我们的原始服务器陷入困境,试图同时满足N个相同的请求.

相反,我们希望第一个请求代理到源服务器,其余的请求在Squid层排队,然后当源服务器响应第一个请求时,Squid都会完成所有请求.

有谁知道如何配置Squid这样做?

我们已经多次阅读了文档,并通过网络搜索了主题,但无法弄清楚如何去做.

我们也使用Akamai,有趣的是,这是它的默认行为.(但是,Akamai拥有如此多的节点,即使启用了Akamai的超级节点功能,我们仍会在某些流量峰值情况下看到大量并发请求.)

对于某些其他缓存,此行为显然是可配置的,例如.Ehcache文档提供了选项"并发缓存未命中:缓存未命中将导致缓存过滤器上游的过滤器链被处理.为了避免线程请求相同的密钥执行无用的重复工作,这些线程阻塞第一个线程. "

有些人将此行为称为"阻塞缓存",因为后续并发请求会阻止第一个请求,直到它完成或超时.

看看我的菜鸟问题!

奥利弗

architecture caching cdn squid high-traffic

4
推荐指数
1
解决办法
1956
查看次数

使用哪个Amazon EC2实例?

我想设置一个代理(使用Squid),每天在Amazon EC2实例上需要大约5000个请求.微型与小型实例之间的速度是否存在显着差异?

请求适用于HTML,不适用于任何媒体,如图片或视频.

proxy squid amazon-ec2 amazon-web-services

4
推荐指数
1
解决办法
1112
查看次数

Node.js - HTTP通过Squid代理授权问题

我正在尝试使用http.get发出一个简单的请求.但我需要通过Squid代理提出这个请求.这是我的代码:

var http = require('http');
var username = 'username';
var password = 'password';
var host = "proxy_host";
var auth = 'Basic ' + new Buffer(username + ':' + password).toString('base64');

var options = {
  host: host,
  port: 3128,
  path: "http://www.google.com",
  authorization: auth,
  headers: {
    Host: 'www.google.com'
  }
};

var req = http.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  console.log('HEADERS: ' + JSON.stringify(res.headers));
});

req.end();
Run Code Online (Sandbox Code Playgroud)

根据设置代理的操作团队,我的用户名和密码是正确的.问题是我不断获得407 - 授权所需的状态.

我提出请求的方式有问题吗?或者是否需要配置Squid代理?

提前致谢.

squid node.js

4
推荐指数
1
解决办法
3473
查看次数

HttpClient 4.2.2和代理用户名/密码

我有HttpClient 4.2.2的问题和使用用户名/密码的代理.HttpClient以这种方式工作:

  1. 项目清单
  2. 发送没有代理服务器的请求(但是我为每个请求设置了代理参数)
  3. 得到squid的回复,407错误
  4. 使用代理服务器发送请求

这是非常奇怪的行为,是否可以为每个请求添加有关代理的信息?我试图为每个请求添加硬编码的"代理授权"标头,它工作正常,为什么HttpClient不能这样做?

Java代码

DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(PROTOCOL_VERSION, HTTP_1_1);
...
String proxyServer = getProxyServer();
int proxyPort = getProxyPort();
List<String> authpref = new ArrayList<String>();
authpref.add(AuthPolicy.BASIC);
httpClient.getParams().setParameter(AuthPNames.PROXY_AUTH_PREF, authpref);
String proxyUser = getProxyUser();
String proxyPassword = getProxyPassword();
CredentialsProvider credsProvider = httpClient.getCredentialsProvider();
credsProvider.setCredentials(new AuthScope(proxyServer, proxyPort), new UsernamePasswordCredentials(proxyUser, proxyPassword));
httpClient.setCredentialsProvider(credsProvider);
HttpHost proxy = new HttpHost(proxyServer, proxyPort, (proxyServer.indexOf("https") != 0) ? "http" : "https");
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
...
HttpPut put = new HttpPut(url);

/*** hardcoded header ***/
//put.addHeader("Proxy-Authorization", "Basic eHRlbmR4LmRuZXByOnF3ZXJ0eQ==");
/*** …
Run Code Online (Sandbox Code Playgroud)

java proxy squid httpclient http-status-code-407

4
推荐指数
1
解决办法
2万
查看次数

在Squid中为SSL连接启用缓存

我们如何能够让squid缓存Web内容(让我们从firefox说)用于SSL连接,我的意思是https URL?

connection ssl https squid isenabled

4
推荐指数
2
解决办法
2万
查看次数

在CentOS中yum -y install和yum install之间有什么区别

我已经看到了两种安装软件包的方法,例如CentOS上的squid:

1.yum -y install squid

2.yum install squid

谁能告诉我他们之间有什么区别?另外,我正在使用CentOS v.6.6

linux centos squid yum centos6

4
推荐指数
2
解决办法
3013
查看次数