Squid代理更改HTTPS标头

时间:2016-10-09 18:46:45

标签: ssl cookies proxy http-proxy squid

我正在尝试开发一个代理服务器,通过在代理中设置该会话的cookie,帮助客户自动登录我的应用程序而无需密码。 这意味着如果用户使用代理访问该网站,那么他将使用该流量上设置的cookie自动登录该网站。

我已经安装了&在centos 6.8 x64上配置SQUID。 设置好所有内容后使用

request_header_add Cookie name=value
/etc/squid/squid.conf。

Cookie设置为所有HTTP流量,但我的应用程序使用HTTPS。 所以,我尝试设置OpenSSl,ssl-bump,以及关于SSL的所有设置,包括ip表

这就是我的squid.conf的样子:

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all

http_port 3130

http_port 3128 intercept
https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=8MB cert=/etc/squid/ssl_cert/myca.pem key=/etc/squid/ssl_cert/myca.pem

request_header_add Cookie name=value all

#always_direct allow all
ssl_bump server-first all
#sslproxy_cert_error deny all
#sslproxy_flags DONT_VERIFY_PEER

sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 8MB
sslcrtd_children 8 startup=1 idle=1

在研究了更多之后,我还激活了ip表来转发数据包到代理进行拦截。

iptables -t nat -A PREROUTING -p tcp -s 0.0.0.0/0 -j DNAT --to-destination 192.2xx.xx4.xx4:3128 --dport 80

iptables -t nat -A PREROUTING -p tcp -s 0.0.0.0/0 -j DNAT --to-destination 192.2xx.xx4.xx4:3129 --dport 443

以上配置工作正常,没有任何HTTP流量问题 但仍然没有将Cookie标头添加到" HTTPS"交通。 我的主要动机是如果有人使用此代理而未使用设置为HTTPS标头的cookie输入登录详细信息,则登录到应用程序。

任何人都可以帮我告诉我这个任务是否可以使用SQUID在HTTPS流量上设置cookie(更改标题)。

如果可能的话,请帮我找出错误或我还有什么需要做。

提前致谢!

0 个答案:

没有答案