zaniti 2010-03-24 17:34
浏览 609
已采纳

squid3.0 http_port参数的疑问

    单位新项目用squid作反向代理服务器,这两天看了不少关于squid配置的文档,但是关于squid.conf文件中的http_port参数的一些选项还存在疑问,希望大家能给些帮助。
    一般反向代理会有如下配置:http_port 80 accel vhost vport
    非常疑惑accel,vhost,vport这三个参数的用途,手册、配置文档以及网络文章都查了,都是那么几句话解释,但我实在看明白,请不要转帖哪些解释了。
    我曾经试图在配置文件中去掉accel选项,squid重启后,并没有任何异常,而vhost选项去掉后,网页就无法正常访问了,所以最好可以举例说明这几个参数的用途,譬如干啥用的,加了它起什么作用,不加它有何影响
  • 写回答

2条回答 默认 最新

  • iteye_13500 2010-03-24 18:51
    关注

    http://old.squid-cache.org/Doc/Users-Guide/detail/accel.html
    http://www.visolve.com/squid/squid26/network.php

    仔细看着这两个链接

    说一下我的理解吧:

    1 如果你不加http_port 80 accel vhost vport 这个配置的话,squid默认就作为一个缓存服务器(cache server, 参考第一个链接),这个时候如果客户端有请求发到了squid,squid起到的是路由功能,把请求转发出去,被真正的web server接收,web server返回响应,当squid接收到响应后,根据响应头决定是否缓存,此时的squid,只是一个cache server。

    2 如果你加http_port 80 accel vhost vport 这个配置的话,squid就从一个缓存变成了一个web server(参考第一个链接), 这个时候squid在80端口监听请求,同时和web server的请求端口(vhost vport)绑定,这个时候请求到了squid,squid是不用转发请求的,而是直接要么从缓存中拿数据要么向绑定的端口直接请求数据。另外绑定端口还有一个好处,可以充分利用http 响应头中的到期时间头和etag头。

    3 你提到“去掉accel选项,squid重启后,并没有任何异常”,这个参考第二个链接,如果你设置了vhost vport, 默认是具有的(Implies accel)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)