2013-02-22 2 views
0

간단히 말하자면, 내가 Varnish의 신생 업체이기 때문에 단일 서버에 VarnishApache이 함께 들어 있습니다. Apache에는 가상 호스트로 여러 하위 도메인이 있습니다.V-Hosts가있는 여러 하위 도메인에 Varnish VCL 설정을 적용 하시겠습니까?

내가이 있다고 가정하자 :

  • sub1.example.com
  • sub2.example.com
  • sub3.example.com
다음

나는 아파치의 httpd.conf 변경 만포트 :

Listen 8080 

backend default{ 
    .host = "127.0.0.1"; 
    .port = "8080"; 
} 

이제 내 질문은 여기에 있습니다 : : 다시

후 지금 VCL 내 백엔드 설정까지입니다

  • 가 설치 이런 종류의 충분한 것이 있습니까? 진심으로 내가 뭘 놓치고 있니?
  • 내가 아직 지워야 할 부분은 먼저 httpd.conf 아파치 끝에서 Listen 값을 변경하기 만하면됩니까?

이 방법에 대해 각 하위 도메인에 대한

NameVirtualHost *:80 

또한 V.Host 설정 :

<VirtualHost *:80> 
.. 
.. 
</VirtualHost> 
  • 나는 또한 8080에 그 포트를 변경 필요 수행 아파치 측에게 제발, 제발?

마지막으로 VCL 구성에, 난 좀 다음과 같은보고 있어요 :

if (req.http.host == ".........com") { 
    .. 
} 

를 .. 다른 포럼에.

  • 나는
  • 그래서 내가 내 스키마하십시오 실종 않는 것 같은 것은 필요 및/또는 심각 않는 내 VCL 내부 설정의이 종류를 가지고 있지 않은거야?

감사합니다.

답변

2

바니시는 port 80에서 실행됩니다. 따라서 Apache는 다른 포트에서 실행해야합니다. port 80. 개인적으로 port 81을 Apache 용으로 사용하기 때문에 port 8080은 보통 Apache Tomcat에 의해 사용됩니다.

듣기 Apache on port 81. httpd.conf (/etc/httpd/conf/httpd.conf).

Listen 81 
NameVirtualHost *:81 

바니시의 기본 구성 파일. default.vcl (/etc/varnish/default.vcl).

backend default { 
    .host = "127.0.0.1"; 
    .port = "81"; 
} 

sub1.example.net 및 sub2.example.net의 가상 호스트. vhosts.conf (/etc/httpd/conf.d/vhosts/example.net.conf).

# vhost : sub1.example.net 
<VirtualHost *:81> 
    ... 
    ServerName sub1.example.net 
    ... 
    <Directory "/var/www/html/vhosts/example.net/sub1/public_html"> 
    ... 
    </Directory> 
    ... 
</VirtualHost> 

# vhost : sub2.example.net 
<VirtualHost *:81> 
    ... 
    ServerName sub2.example.net 
    ... 
    <Directory "/var/www/html/vhosts/example.net/sub2/public_html"> 
    ... 
    </Directory> 
    ... 
</VirtualHost> 
+0

Awwwwn이므로 'VirtualHost' 포트도 Apache 포트와 같아야합니다! 감사합니다! –

+0

수정하십시오. 전체 Apache는 포트 81 또는 선택한 포트에서 실행됩니다. Varnish는 포트 80에서 Apache로 요청을 전달합니다. –