懂Squid的帮个忙,请问Squid支持HTTPs的正向代理吗

2013-07-30 16:47:58 +08:00
 hcw1588
32318 次点击
所在节点    问与答
23 条回复
BOYPT
2013-07-30 17:46:37 +08:00
支持。
hcw1588
2013-07-30 18:14:17 +08:00
@BOYPT 没用啊代理不了https啊。
ericFork
2013-07-30 20:11:28 +08:00
支持。nginx 不支持。
hcw1588
2013-07-30 20:14:07 +08:00
@ericFork 怎么配置,我不管怎么配置都没用。。
hcw1588
2013-07-30 21:25:10 +08:00
@BOYPT
@ericFork
http_port 3128
https_port 443 cert=/etc/squid/cert.pem key=/etc/squid/key.pem
不管怎么弄都没用
ericFork
2013-07-30 22:40:57 +08:00
用 http 的端口就行了,不需要另开 https_port
BOYPT
2013-07-31 09:28:42 +08:00
@hcw1588 首先明确下你要的HTTPS代理是什么,至少3个歧义。

1. SSL封装的HTTP代理
2. 经过HTTP代理的HTTPS请求
3. 解开远程网站的HTTPS并重新加密的中间人

这三者Squid均能做到,你配置https_port是实现第1种,这个特性需要编译时候开启。
而如果是第2种,不需要这么配置,浏览器会使用CONNECT方式通过HTTP经过代理。
hcw1588
2013-07-31 12:23:36 +08:00
@BOYPT 第三种呢。第一种成功不了,编译时开启了。。
hcw1588
2013-07-31 12:35:07 +08:00
@BOYPT cache.log出现
2013/07/31 20:31:45| clientNegotiateSSL: Error negotiating SSL connection on FD 12: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request (1/-1)
freewizard
2013-07-31 13:28:43 +08:00
楼主确定要 @BOYPT 说的 中间人重新加密的正向代理? 
如果是,那不必听443(https_port 443),需要最新版(最好是3.3+)的squid编译启用sslbump和动态证书生成
http://wiki.squid-cache.org/Features/SslBump
http://wiki.squid-cache.org/Features/DynamicSslCert
http://wiki.squid-cache.org/Features/MimicSslServerCert
hcw1588
2013-07-31 13:32:16 +08:00
@freewizard SSL封装的HTTP代理出现9楼的情况怎么回事。
freewizard
2013-07-31 13:38:58 +08:00
你客户端如何配置的?
第一种只有Chrome且配置对了才能用的
http://dev.chromium.org/developers/design-documents/secure-web-proxy
hcw1588
2013-07-31 13:40:55 +08:00
@freewizard 也就是其他浏览器用不了
freewizard
2013-07-31 13:50:21 +08:00
对,其他的浏览器都无法直接使用
变通办法是本地起一个stunnel,把HTTPS转回HTTP,浏览器代理再指向本地HTTP
hcw1588
2013-07-31 14:04:12 +08:00
@freewizard 那squid和以发出某些提醒给正在使用的用户吗。比如暂时关闭,然后想给用户提醒,用户正在浏览a网页,点击b网页时显示提醒然后继续浏览。。额就像当年的电信ADSL流量时长提醒那样
tywtyw2002
2013-07-31 14:48:40 +08:00
@hcw1588 可以。用重定向器。自己去写。不过squid 很难区分用户个体。
hcw1588
2013-07-31 14:53:33 +08:00
@tywtyw2002 最后一件事,squid3.3以上的inid.d启动脚本怎么写,参考网上的都不成功
catinred
2013-08-21 01:13:01 +08:00
@BOYPT 在内网的网关安装了squid做缓存和过滤,拨了vpn,加了国内路由。限制内网用户只能走http/https.要让内网用户能够科学上网该怎么配置?谢谢。
BOYPT
2013-08-21 09:21:28 +08:00
如果想让内网用户无知觉地跑squid,可以Squid的http端口配置tproxy模式,iptables把80端口请求 tproxy给squid。这种情况https只能放直通。

如果让内网用户手动配置代理,那网关不需要打开IP转发,直接打开squid,用户配置代理上网,http/https都可以支持。
lfcase
2017-02-22 10:49:21 +08:00
@hcw1588 你好,想问一下关于 squid 代理的问题,希望看到后能回复哦!
我们现在是使用两台 squid (一台内网做透明代理,一台云主机做科学上网),目的是让内网用户上网自动分流,想法是,内网 squid 上设置转发 acl ,符合条件的转抛到云主机的 squid ,相关具体的配置:
云主机 squid ,正常代理,加了一个 ip 来源限制(只有公司出口 IP 才能使用它),这个省略吧
内网 squid ,转发 acl 如下:
cache_peer XX.XX.XX.XX parent 3128 0
acl OutSide url_regex -i "/some/path/to/file" #文件中是一些域名
cache_peer_access XX.XX.XX.XX allow OutSide
never_direct allow OutSide
代理端口如下(内网用户电脑网关指向了它,开启了路由及 iptables 转发):
http_port 3128
http_port 880 intercept
https_port 8443 intercept ssl-bump cert=/etc/squid/ssl/myCA.pem

问题描述:
1 、当取消 iptables 的 443 端口转发,及 https_port 的配置,(个人认为就是 https 代理用 http 的 connect 方法), http 的网站正常,但是 https 的网站无法转抛给云主机的 squid ,(可能是 connect 方法,看不到域名了?)
2 、当开启 443 端口转发及 https_port 的配置,证书总是不信任,总感觉是中间人攻击模式,看 squid 说明( http://wiki.squid-cache.org/Features/SslBumphttp://wiki.squid-cache.org/Features/DynamicSslCert
http://wiki.squid-cache.org/Features/MimicSslServerCert ),也没有头绪,主要对这块不懂。
希望得到帮助。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/77444

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX