>> Edit article
이름
제목
패스워드
http://passkorea.net 의 다운로드에 있습니다. squid 를 베이스로 윈도 2000서버용 프락시프로그램입니다. 아마 전 세계에서 사용하는 프락시 솔류션중 제일많은 비중을 차지하는 프로그램 일겁니다. 이거 소스가 .....정말 골치 아픕니다. 참! squid고유의 캐싱 외에도 NAT컨트롤 및 사용분석기... 정통부 윤리위원회의 음란사이트 차단 기능도 들어가 있습니다. : 하이텔 리눅스 동회회에서 퍼온글입니다. : 이제까지 squid는 단순히 내부 네트워크의 웹서핑 속도 : 향상에만 쓰는 건줄 알았는데 잘만 쓰면 자신의 웹서버의 : 성능및 속도 향상에도 잘 쓰일수 있을꺼같습니다.. : .. : 이런게 역프록시 (Reverse Proxy )라는 게 맞는지 모르겠지만. : .. : 하여튼.. 간단히 설명하면.. : 외부 사용자가 자신의 웹서버에 접속할때는 아파치 등의 : 웹서버 80 포트로 바로 접속 되는게 아니라.. : squid 의 80 번포트로 접속 됩니다.. 보통 squid 는 : 3128 번포트인가 ? 사용하는 웹 가속서버로 쓸려면 반드시 : 80 번 포트로 해야합니다.. : (더 자세히 말하면 /etc/service 에 등록된 포트죠).. : .. : 그러면 squid 는 캐싱가능한 웹정보는 자신이 담당하고 : cgi 등 계산이 필요하거나 케싱안되는건 실제 웹서버에 : 요청을 보냅니다.. : 당연히 아파치는 80 번 포트가 아니라 다른 포트.. 예를 들면 : 81 번 포트 등으로 실행이 되어야합니다.. squid 설정파일에서 : 웹서버 IP 와 포트를 지정할수 있습니다.. : .. : 실제로 이걸써서 서비스할 처지가 못해서 충분한 테스트는 : 못해봤는데.. 오래 써보신분들 경험담 부탁하고요.. : .. : 이런 거 말고.. 웹가속할수 있는 방법 있으면 부탁... : .. : 아래는 하이텔에서 현창호 님이 올린 글입니다.. : ======================================================== : : 작성자:현 창호(climbk2@hitel.net) : URL:http://www.emperorofjapan.com : : #사용목적 : squid을 accelerator mode로 사용하는 이유는 웹서버의 부하을 덜어주기 : 위함이다.자주 접근되는 웹서버의 내용을 squid의 캐쉬에 저장시켜 클라이 : 언트로부터 요청이 있을시 웹서버에 요청하지 않고 캐쉬에서 바로 보내 줌으로 : 써 서버의 이용률을 높일 수 있게 되는것이다.클라이언트로 부터 오는 요청중 : 캐쉬에 저장될 수 없는 cgi같은 내용만 웹서버로 직접 전달시켜줄 뿐 나머지 : 캐쉬로 저장해두 무방한 html이나 gif,jpg같은 내용은 캐쉬에서 바로 클라이 : 언트로 응답을 해줌으로서 속도을 증가시켜 주는 역할을 한다. : squid는 클라이언트와 웹서버의 중간자 역할을 수행한다고 생각하면 이해하기 : 가 수월할 것이다.클라이언트의 요청을 squid가 받아서 squid의 cache에 보관되 : 어 있는 내용은 웹서버에 요청하지 않고 squid 자신이 바로 처리함으로써 웹서버 : 의 부하을 줄이면서 클라이언트의 요청에 좀 더 빨리 응답할 수 있게 되는 것이다. : : 또한 특정 주소로 부터의 접속을 차단하거나,특정 주소로 향하는 접속만 허용할 : 수 있으며 특정 포트로부터 오는 접속을 차단하는 역할 을 한다. : : # squid의 설치 : squid는 리눅스 배포판 시디안에 rpm포맷으로 존재함으로 간단히 설치할 수 있다. : : rpm -ivh squid-2.3.STABLE4-10.rpm : : 설치가 완료되면 자동적으로 /etc/squid,/var/spool/squid,/var/log/squid가 : 생성된다./etc/squid 디렉토리가 squid설정 디렉토리임을 잊지 말기바란다. : : # squid.conf 설정 : 먼저 설정하기에 앞서 아파치 웹서버가 이용하는 80포트을 81포트로 옮겨준다. : httpd.conf 웹서버 설정 파일서 "Port 80" 을 "Port 81"로 고쳐준다. : : 앞에서 언급했듯이 squid가 웹서버와 클라이언크간의 중간자 역할을 한다고 했 : 음으로 클라이언트의 접속요청을 squid가 포트 80번으로 변함없이 받아서 단지 : 이 요청에서 squid가 자신의 캐쉬에 보관된 내용을 클라이언트가 요청했면 바 : 로 전달해주고,자신의 캐쉬에 보관된 내용이 아닌 내용은 웹서버에 요청해서 : 클라이언트에 전해준다. : : 이제 squid웹 프록시 서버의 설정파일인 squid.conf 파일을 수정해서 squid 가 : 엑셀레이터 모드로 작동시키는 과정을 설명한다. : /etc/squid/squid.conf.default 파일을 /etc/squid/squid.conf로 복사해서 이을 : 수정 : 해서 사용한다. : : 다음 부분을 수정해주면 된다. : : *squid.conf 설명 시작* : --------------------------------------------------------------- : #squid.conf : # squid가 사용하는 포트(http_accelerate mode) : http_port 80 : : # squid을 accelerate mode로 사용함으로 icp사용안함,'0' means 'not using'. : icp_port 0 : : # 의미없음 : acl QUERY urlpath_regex cgi-bin ? : no_cache deny QUERY : : # squid가 사용하는 최소 메모리,실제 메모리의 1/3크기로 해줌 : #내 경우 512M을 사용 : cache_mem 160 MB : : # cache_dir , type, directory, Mbyte ,첫디렉토리숫자, 그하위디렉토리숫자 : #첫디렉토리 숫자란 /var/spool/squid/ 디렉에 생성될 수 있는 디렉토리 수을 : 말한다. : #그 하위 디렉토리 숫자란 /var/spool/squid/example/ 디렉에 생성될 수 있는 : 디렉토리 수을 말한다. : #아래의 의미는 ,directory = /var/spool/squid,Mbyte = 100M,첫디렉토리 = : 16개,하위디렉토리 = 256 개 : cache_dir ufs /var/spool/squid 100 16 256 : : # cache replacement policy,based on frequency : replacement_policy GDSF : : # Access Control List(acl) : # acl aclname acltype string <<-- 순서 필히 지켜주어야한다. : # aclname :자기가 편한대로 지어주면 된다.(가령 hateaddress,blockshit...) : # acltype :src dst srcdomain dstdomain url_pattern urlpath_pattern time port : proto method browser user :case sensitive : #즉 대소문자을 주의해야한다. : # i.e) acl localnet src 192.168.1.0/255.255.255.0 : # acl myself myip 211.211.211.211/255.255.255.255 : # acl block srcdomain .sarang.net <-srang.net을 주소로하는 접속시도 : # acl blockport port 1-1023 : # acl Safe_ports port 23 : # 0.0.0.0/0.0.0.0 모든 곳으로 부터 시도되는 접속 : acl all src 0.0.0.0/0.0.0.0 : : # allow or deny :위 부분에 작성한 acl 중 aclname을 이용해서 접속 차단,허용을 : 작성한다. : # http_access deny blockport <-blockport란 가진 이름 가진 acl 차단 : # http_access deny !Safe_ports <-Safe_ports가 아닌것은 차단 : #(i.e) http_access deny block <--위 부분 acl list의 예문중 sarang.net을 : 주소로 하는 접속시도을 차단한다. : http_access allow all : : # squid 관리자 : cache_mgr emperorofjapan11@emperorofjapan.com : : # cache가 squid란 uid/gid로 작동,보안을 위해 : cache_effective_user squid : cache_effective_group squid : : # squid가 작동하는 호스트 : httpd_accel_host 211.20x.x1.1x6 <--squid가 작동되는 호스트 ip나 호스트 이름을 : 적어준다. : : # 아파치가 작동하고 있는 포트 : httpd_accel_port 81 <--아파치가 돌아가는 포트 : : # icp을 사용하지 않음으로 당연히 'off' : log_icp_queries off : : # cachemgr 을 위한 password,아래 부분에 설명이 있다. : # cachemgr_passwd password all : cachemgr_passwd password all : : : # 로그 파일의 신속한 작성을 위해 'on' : buffered_logs on : : : ----------------- : *squid 설명 완료* : : #기타 사항 : # squid 기본 설정 디렉토리 /etc/squid : # squid cache 디렉토리 /var/spool/squid : # squid log 디렉토리 /var/log/squid : # squid error 설정 /etc/squid 디렉토리 내에서 : ln -s /usr/lib/squid/errors/Korean errors 하면 에머메시지가 한글로 나옴 : # squid accelerator mode는 html,gif등 cache할 수 있는 contents을 squid : # cache내에 저장,하지만 cgi등과같이 cache할 수 없는 contents는 apache서버에 : # 직접 요청하는 역활을 한다. : # httpd_accel_host virtual <-virtual web hosting : # httpd_accel_with_proxy on <-accelerator mode와 proxy모드 함께 사용시 : : # howto cache manager (cachemgr.cgi) :캐쉬 매너져 사용하기 : cp /usr/lib/squid/cachemgr.cgi /usr/local/apache/cgi-bin/ : http://hostname/cgi-bin/cachemgr.cgi <-웨브라우저로 접속해서 아래 부분을 : 작성하면 접속완료 : Cache Host: localhost : Cache port: 80(accelerator mode),8080(proxy mode) : Manager name:squid : Password : password(squid.conf에 적어준 패스워드) : : 접속이 완료되면 캐쉬 매너져을 사용해서 수정을 해줄수 있다. : : : ------------------------------------- : #내가 사용하는 간략한 squid.conf 설정파일 예제 : # 필요한 부분만 수정해서 /etc/squid/squid.conf 로 복사해서 : # 사용해도 된다. : : http_port 80 : icp_port 0 : acl QUERY urlpath_regex cgi-bin ? : no_cache deny QUERY : cache_mem 170 MB : cache_dir ufs /var/spool/squid 100 16 256 : replacement_policy GDSF : acl all src 0.0.0.0/0.0.0.0 : http_access allow all : cache_mgr climbk2@hitel.net : cache_effective_user squid : cache_effective_group squid : httpd_accel_host 192.168.1.1 : httpd_accel_port 81 : log_icp_queries off : cachemgr_passwd password all : buffered_logs on : : ------------------------------------------------------- : : #Squid 실행/정지 : /etc/init.d/squid start/stop/restart <--자신의 시스템에 따르겠지만 거의 : 비슷하다. : : --------------------------------------------- : 다른 곳에 배포할 시 작성자을 지우지 말고 배포해주세요. : : : .. : : -- : 이 곳에 서명을 적어주십시오. : 서문탁의 사미인곡 노래 재밌네요..--ㄹ ㅣ ㄴ ㅜ ㄱ ㅅ ㅡ
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved