配置 squid 使其支持 访问https站点

需求:让用户通过squid访问https网站

注意和配置squid使其支持https不同

网上的资料基本都是给squid配置一个证书,但直觉告诉我这并不能解决我们的问题

进入正题,通过之前配置好的squid访问http站点可以正常访问,

但无法访问https开头的网站

查找问题最好的方法就是分析日志

access.log中发现如下信息

NONE/400 4280CONNECT error:method-not-allowed - NONE/- text/html

查看 squid.conf ,默认配置是允许CONNECT 目标443端口的

acl SSL_ports port443
# Deny CONNECT toother than secure SSL ports
#always_directdeny  !ssl_ports
http_access denyCONNECT !SSL_ports

继续

后台在squid.conf中把squid的debug日志打开

debug_options ALL,133,2

查看/var/log/squid/cache.log日志发现

2016/12/11 12:10:19|IpIntercept.cc(137) NetfilterInterception: NF getsockopt(SO_ORIGINAL_DST) failed on FD 10: (92) Protocol notavailable
2016/12/11 12:10:19|WARNING: CONNECT method received on http Accelerator port 3128
2016/12/11 12:10:19|WARNING: for request: CONNECT mail.qq.com:443 HTTP/1.1
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0
Proxy-Connection:keep-alive
Connection:keep-alive
Host:mail.qq.com:443
Proxy-Authorization:Basic a2VubnkuemhhbzoxMjM0NTY=
 
2016/12/1112:10:19.494| clientProcessRequest: Invalid Request

好了,好像看到了点不对劲的地方

第一个问题,

IpIntercept.cc(137)NetfilterInterception:  NFgetsockopt(SO_ORIGINAL_DST) failed on FD 10: (92) Protocol not available

经过查询,是因为一个module开机的时候没有加载

执行modprobeip_conntrack

再次访问,查看日子,此错误提示消失了,但这个错误并不是主要问题

继续查询第二行报错

WARNING: CONNECTmethod received on http Accelerator port

配置文件中有这么一行

http_port 3128 transparent accel

经过一番搜索,去掉配置中的accel参数

即把

http_port 3128 transparent accel

改为

http_port 3128 transparent

重新加载配置文件,

squid -k reconfigure

重新访问https网站,发现已经可以正常通过squid访问,

至此,问题已经得到解决. 不要忘了关掉debug日志

但是配置了https,本身就是为了传输过程的安全

而现在的架构是

Browser <--->Squid <---> Https Site

仅仅是squid和https网站之间的通信是https的

Browser和suqid之间的通信仍是通过http的,

可以考虑在squid 上配置https端口和证书来加密 Browser和squid之间的通信,

https_port 443cert=/path/to/your.crt key=/path/to/your.key

时间: 2024-11-10 08:10:38

配置 squid 使其支持 访问https站点的相关文章

配置nginx使之支持pathinfo

phalcon项目,oneinstack环境lnmp.配置文件:/usr/local/nginx/conf/vhost/dldh.ccc.conf自动生成的. 问题:除首页外,其他都打不开,且样式文件也打不开.http://dldh.ccc/index.php/back/css/bootstrap.min.csshttp://dldh.ccc/index.php/backend/index/index都报: Access denied. 解决办法:作修改如下. server { listen 8

HTTPS的证书未经权威机构认证的情况下,访问HTTPS站点的两种方法

注意一下文章中提到的jsse在jdk1.4以后已经集成了,不必纠结. 摘 要 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点.本文在简要介绍JSSE的基础上提出了两种解决该问题的方法. 引言 过去的十几年,网络上已经积累了大量的Web应用.如今,无论是整合原有的Web应用系统,还是进行新的Web开发,都要求通过编程来访问某些Web页面.传统的方法是使

配置apache使之支持浏览器端的缓存

当直接在浏览器中输入一个URL,或者点击一个链接的时候,那么浏览器缓存就会起作用,如果缓存没有过期,那么浏览器会从本地读取资源,不会发起HTTP请求,如果缓存过期,那么浏览器会发起新的浏览器请求. 一.适用直接访问,非F5刷新页面的情况下 Expires是HTTP/1.0的缓存头, Cache-Control: max-age 是HTTP/1.1是用来进行HTTP缓存的头.Expires指定了资源过期的绝对时间,GMT格式,Cache-Control: max-age指定了资源过期的相对时间,单

如何配置IIS使其支持APK文件的下载

如何配置IIS使其支持APK文件的下载APK文件是安卓的安装程序的文件,IIS里的MIME里默认是不支持的.如果没有配置MIME时,直接输入网址要下载APK文件时,会提示找不到此文件.这里教你如何配置IIS的MIME设置,使其可以支持APK文件的下载.1.在管理工具里打开Internet 信息服务(IIS)管理器.然后选择需要配置的网站.2.右侧的界面中会显示该网站的所有功能配置,我们选择并点击进入“MIME类型”3.在右侧的操作区选择点击“添加”MIME.4.在弹出的添加窗口里的文件扩展名输入

用curl访问HTTPS站点并登录(对HTTP返回的结果特别清楚)

开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功能测试. 假定Ubuntu系统运行着一个HTTPS站点,用CppCMS编写,Nginx配置了SSL证书,通过FastCGI和CppCMS编写的后台进程连接在一起. 第一步,安装: [plain] view plain copy print? apt-get install curl 我的Ubuntu

全部用startssl生成的证书,配置Apache使其支持SSL

Apache的编译安装见这篇: http://www.cnblogs.com/yjken/p/3921840.html 网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就没有去生成证书,而是直接去了startssl 申请了一个免费的证书,据说startssl也是全球唯一的一个可以申请免费ssl证书的地方,并且是被主流浏览器(firefox,chrome,IE,safari)认可的,所以,对于安全性要求不高的情景,免费的证书已经完全满足需求了,当然,如果你的安全性要求

nginx配置ssl证书后无法访问https

一直听说https更安全,要安装证书,一直没试过,今天终于试了试 首先得有个http的域名网站,服务器. 到阿里云的安全-ssl证书管理申请一个免费的,可以绑定一个域名  然后完善资料,照着例子配置一个ssl 重启nginx 具体流程阿里云有文档 下面是我的conf配置文件 server { listen 443 ssl http2; #listen [::]:443 ssl http2; server_name yeves.cn www.yeves.cn; index index.html i

WIN7安装COGNOS8后配置IIS网站后,访问COGNOS站点网页一直显示空白,解决方法(转载)

今天我机器上(WIN7)安装了COGNOS8后,发现IIS里发布的网站访问出现了空白,再翻阅众多的帖子网友的回答中看到一丝希望,便照着做,果不然真的能成功. 方法如下: 进入:控制面板 - 卸载程序 - 打开或关闭Windows功能 如果访问任何不存在页面或页面出错时空白: Internet 信息服务 - 万维网服务 - 常见 HTTP 功能 - HTTP 错误 打勾 如果访问任何存在的页面时出现空白: Internet 信息服务 - 万维网服务 - 静态内容 打勾 然后单击“确定”即可.

简单配置nginx使之支持phpinfo

server { listen 80; server_name localhost; index index.html index.htm index.php; root /alidata/www/pro; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; in