squid实例配置之静态cdn

研究了文档发现在squid实现cdn或代理前最好先处理检查一下问题:

,每G磁盘空间需要32M内存,如此512M内存能支持16G的磁盘缓存。

加入你的用户每天8小时耗费1M流量,那就是每天大约3.5G,因此可以说每Mweb传输需要10到25G的磁盘空间。

A   linux查看文件描述符限制:

ulimit -n unlimited

ulimit -n

(以便为1024,但是要使用squid,最好修改为8192)

修改方法如下:

编辑 /usr/include/bits/types.h

改变 _FD_SETSIZE的值:

define __FD_SETSIZE 8912

下一步修改内核文件木舒服的限制:

echo 8912 > /usr/sys/fs/fiie-amx

最后增加进程文件 描述的限制:

ulimit -Hn 8192

以上为中文文档所写,但无法找到;此为成功找到如下:

(# vi /usr/include/bits/typesizes.h

# vi /usr/include/linux/posix_types.h

把里边的 #define __FD_SETSIZE 1024 改成 65536

2,设置当前环境

# ulimit -Hs 65536

# ulimit -n 65536)

B:

修改linux系统端口号:

echo “1023 400000” > /proc/sys/net/ipv4/ip_local_port_range

(临时端口号为1024 到40000)

2,CONNECT

CONNECT方法非常特殊,它是用于通过http代理来分装某种请求的方法,在处理CONNECT方法和远程的端口时应该特别谨慎

如:

您不希望squid连接到某些远程服务,您应该限制CONNECT连接,仅能连接到https/ssl或nntps端口设置如下:

acl CONNECT method CONNECT

acl SSL_ports 443 563

http_access allow CONNECT SSL_ports

http_access deny CONNECT

3,myport

假如你在http_port指令里指定的不止一个端口,那么squid就可以在不同的端口上监听。

如果将squid座位http加速器和用户代理服务器,那么myportACL特别有用了

如:

acl AccelPort myport 80

acl ProxyPort mysqlport 3128

acl MyNet src 10.111.5.0/28

http_access allow AccelPort                       #anyone

http_access allow ProxyPort MyNet #only my users

http_access deny ProxyPort                        #deny others

4,ident

第六个pdf,第12页

5,path_auth

squid当前支持三种技术以接受用户验证:HTTP基本协议,数字认证协议,和NTLM。

auth_param指令控制对所有的辅助程序的配置,

auth_param指令和proxy_auth ACL是少数在配置文件里顺序重要的实例。你必须在proxy_auth ACL之前定义至少一个严重辅助程序(使用auth_param),如果你没有这样做,squid打印出错消息,

并忽略proxy_auth ACL。

6,srcdom_regex,dstdom_regex,url_regex,

如:

acl WrbSite dotdom_regex -i ^www \ .

匹配以www开头的主机名

acl DHCPUser srcdom_regex -i ^dhcp

匹配以dhcp开头的主机名,如dhcp12.edong.com 而不是海鸥身体2.dhcp.edong.com

url_regex:设置url的过滤

urlpath_regex 与上很相似,不过传输协议和主机名不保函在匹配条件中,

如:

拒绝url里有sex,但仍允许主机名里面有sex的请求那么:

acl sex urlpath_regex sex

又如:

捕获cgi

acl CGI urlpath_regex ^/cgi-bin

7,

如果一个ACL太长,可以在一个文件夹内写上,然后在指定地址就好了。

acl Foo BadClients “/usr/local/squid/etc/BadClients”

在BadClients文件内这样写入

1.2.3.4

1.2.3.5

1.2.3.6

每个ip是一个单行.

8,在缓存目录被激活后最好不要在修改文件L1,L2的大小,因为缓存目录内被存储的文件ip是用L1,L2来实现的,如果修改容易造成无法访问现象。

9,使用read-only可以实现撤除某个缓存目录的切换,也就是说不自往要撤除的缓存目录写东西,过段时间及可撤除。

max-size 指定存储的文件大小的最大,以字节来说。

10,编译的参数解释:

--enable-carp

现在开始安装和设置cdn

因为squid在存储和访问时需要调用很多文件,所有需要增大文件描述符。

a,设置“文件描述符”,并设置用户同时打开文件数量

# vi /usr/include/bits/typesizes.h

# vi /usr/include/linux/posix_types.h

把里边的 #define __FD_SETSIZE 1024 改成 65536

2,设置当前环境

# ulimit -Hs 65536

# ulimit -n 65536

1,编译参数:

configure --prefix=/www/sqdn/sqdn --enable-dlmalloc --with-pthreads --enable-poll --disable-internal-dns --enable-stacktrace --enable-removal-policies="heap,lru" --enable-delay-pools --enable-storeio="aufs,coss,diskd,ufs" --with-maxfd=65536

2,设置参数

visible_hostname sqdn289

http_port 80 vhost vport

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

cache deny QUERY

acl apache rep_header Server ^Apache

broken_vary_encoding allow apache

cache_mem 8 MB

maximum_object_size 4096 KB

cache_dir ufs /www/sqdn/sqdn/var/cache 1024 16 256

access_log /www/sqdn/sqdn/var/logs/access.log squid

hosts_file /www/sqdn/sqdn/etc/hosts

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

auth_param basic casesensitive off

http_port 203.191.147.36:80 vhost vport

refresh_pattern ^ftp:           1440    20%     10080

refresh_pattern ^gopher:        1440    0%      1440

refresh_pattern .               0       20%     4320

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow all

{{{{(此处注意我想的是如果不做个人策略就要allow)

{再小说些,如:

acl customers dstdomain "/www/sqdn/sqdn/domains"

http_access allow customers

在domians中添加上cdn.langzi289.com.cn

然后就可以修改为http_access deny all

及所有在domains内的域名才才能使用此cdn服务器)}}}

http_reply_access allow all

icp_access allow all

always_direct allow all

coredump_dir /www/sqdn/sqdn/var/cache

3,启动父进程与子进程如下:

root     32598 0.0 0.1 5448 652 ?        Ss   10:52   0:00 /www/sqdn/sqdn/sbin/squid -s

nobody   32600 0.0 0.8 8664 4508 ?        S    10:52   0:00 (squid) -s

4,添加hosts_file

/www/sqdn/sqdn/etc/hosts

222.191.251.52     cdn.langzi289.com.cn

222.191.251.52     cdn289.langzi289.com.cn

(此处仅是为了访问是不查询dns而提高网址速度和domains文件不一样,domains是策略添加域名)

5,cdn域名解析

将cdn.langzi289.com.cn 和cdn289.langzi289.com.cn 解析到203.191.147.36(也就是cdn服务器上)

收藏于 2009-09-04

时间: 2024-10-23 19:37:51

squid实例配置之静态cdn的相关文章

Spring使用教程(二)配置bean:静态工厂方法和实例工厂方法

public class Car { private String brand; private double price; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public double getPrice() { return price; } public void setPrice(double price) { this.

利用智能DNS和squid反向代理模拟简易CDN

前提本次实验应该用到5台Server和至少两台测试Client.但受制于服务器数量影响,实际一共用到了3台服务器,其中权威DNS本次没有配置.智能DNS跟CDN缓存节点1共用同一台服务器. 本次实验不介绍源站Server的搭建.本实验环境中用的是现成的系统.本次实验默认读者已经了解 DNS的相关知识,如A记录.CNAME记录.NS记录等.本次实验默认读者已经了解CDN的基本原理.本次实验默认读者了解Linux基本的知识点.如果不具备以上知识点,请先补充完善自己的知识体系. 实验规划:1. 客户源

rip路由协议 细节分析及实例配置【完整版】

rip路由协议 细节分析及实例配置[完整版] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从中发现自己不足的问题,也希望能够找到一些比较冷僻的问题,这样子才会有意思多了.   先上图,这个就是我准备做实验的基本用图了.现在已经按照图上标注的IP将所有基本配置设置好了. 在这个实验中,大多数都是基于ripv1,只有在需要比较的时候才会把版本改成ripv2,然后判断完之后再切换为ripv1: 第一步

有关rip路由协议相关知识以及实例配置【第一部分】

有关rip路由协议相关知识以及实例配置[第一部分] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从中发现自己不足的问题,也希望能够找到一些比较冷僻的问题,这样子才会有意思多了.   先上图,这个就是我准备做实验的基本用图了.现在已经按照图上标注的IP将所有基本配置设置好了. 在这个实验中,大多数都是基于ripv1,只有在需要比较的时候才会把版本改成ripv2,然后判断完之后再切换为ripv1:

Linux squid安装配置指南

一.Squid是什么 Squid是一种用来缓冲Internet数据的软件.它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面.Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求.然后,Squid显式地聚集数据到客户端机器,而且同时复制一份.当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户

【华为HCNA】访问控制列表ACL实例配置

[华为HCNA]访问控制列表ACL实例配置 ACL的概念访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制.限制网络流量.提高网络性能.防止网络攻击等等. 应用场景在小型企业的网络中,现要求只有经理的PC(源地址是192.168.2.1)才能访问互联 实验目的允许主机B(经理的PC)访问互联网,禁止主机A访问互联网 网络拓扑图如下: 操作步骤 一.配置端口类型

H3C模拟器 DHCP Snooping 、中继 实例配置

1.DHCP 实例配置 ## 配置步骤(在路由器上配置) ### (1) # 配置接口的 IP 地址. <H3C> system-view [H3C] interface g 0/0 [[H3C-GigabitEthernet0/0]] ip address 192.168.1.254 24 [[H3C-GigabitEthernet0/0]] quit ### (2)# 启用 DHCP 服务. [H3C] dhcp enable ### (3) # 配置不参与自动分配的 IP 地址. [H3

配置docker静态IP地址

https://blog.51cto.com/xuegod/2321169 本节所讲内容: 实验环境: 一个还原到之前安装了docker的虚拟机快照: Docker的4种网络模式 1.Docker有以下4种网络模式: host模式,使用--net=host指定. container模式,使用--net=container:NAME_or_ID指定. none模式,使用--net=none指定. bridge模式,使用--net=bridge指定,默认设置. 默认选择bridge的情况下,容器启动

mysql多实例配置

mysql多实例配置  就是在一台服务器上运行多个mysql实例,每个实例需要一个独立的端口,实例的配置可以按实际需求进行设置  1.配置mysql多实例  # vim /etc/my.cnf[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = mysqllog = /database/log/mysqld-muti.log join_bu