2012-05-17 4 views
3

기본적으로 내가 수행하려고하는 것은 내 메인 웹 사이트에 Go로 작성된 CMS를 실행시키는 것입니다. 이 URL은 www.example.com에 있습니다.PHP 응용 프로그램과 함께 Go 응용 프로그램을 배포하려면 어떻게해야합니까?

나는 또한 www.example.com/clients/ 같은 디렉토리에 PHP로 작성된 응용 프로그램을 가지고

나는 이동 내장하여 example.com를 제공하면서 아파치/PHP를 사용하여 example.com/clients 서비스를 제공 할 수 방법 웹 서버에서?

답변

4

보고 싶을 수행 할 수 있습니다에서 서로 다른 목적지로 프록시 다른 경로 (서버가 액세스 할 수있는 경우) 로컬 호스트 또는 다른 곳에서도 접근하여 서버가 포함 로컬 네트워크 내에서.

<VirtualHost *:80> 
    ServerName some.example.host.xyz 

    DocumentRoot /var/www/your-document-root 

    Alias /clients/ /var/www/clients/ 
    ProxyPass /clients/ ! 
    ScriptAlias /something-using-cgi/ /var/www/cgi-stuff/ 
    ProxyPass /something-using-cgi/ ! 

    ProxyPreserveHost On 
    ProxyPass/http://localhost:9876/ 
    ProxyPassReverse/http://localhost:9876/ 
    ProxyPass /elsewhere/ http://elsewhere.example.host.xyz:1234/ 
    ProxyPassReverse /elsewhere/ http://elsewhere.example.host.xyz:1234/ 
</VirtualHost> 

당신은 당신이 그런 외부 사용자 것을 프록시 보안을 설정할 수 있는지 확인하는 것이 좋습니다 :

이를 위해 아래의 예처럼 ProxyPass (매우 유용 읽고 Apache2 Docs for ProxyPass,)를 사용하는 것 역방향 프록시를 정방향 프록시로 사용할 수 없습니다. 공식 Apache2 문서에 설명 된대로 ProxyRequests을 통해이를 수행 할 수 있습니다. 서버에서이 작업을 수행하는 방법은 서버 전체의 구성에 넣는 것입니다 (충분히 안전하다는 것을 스스로 확인해야합니다).

# disables forward proxy 
ProxyRequests Off 
+0

아파치가 좋은 예이지만, 내가 알고있는 모든 대중적인 웹 서버도 이것을 할 수있다. 아파치를 예제로 사용하여 개념을 설명한다면 나는 더 좋아할 것이다. 특히 nginx 또한 게시물에 태그 되었기 때문에. – mvrak

+0

@mvrak : 위의 내용은 Apache를 사용하고 있습니다. 나는 네가 말하는 것을 이해하지 못한다. –

+0

어쩌면 그것은 의미 론적 일 수도 있지만, 대답은 대부분의 웹 서버가 가지고있는 기능보다는 Apache에 매우 특정한 것으로 해석 될 수 있습니다. 예를 들어 Apache의 mod_proxy 모듈이 그 예입니다. – mvrak

4

앤드류 게 런드 (Andrew Gerrand)는 nginx에 대해서는 blog post으로 좋지만 원칙은 아파치와 동일합니다.

Go 애플리케이션으로 들어오는 요청에 대해 Apache를 역방향 프록시로 설정하려고합니다. 아파치를 들어 당신이 아파치에 mod_proxy를 통해 mod_proxy

+0

일반 도메인이 아닌 하위 도메인에서 작동합니다. –

+3

@adamsilver : 지금 추측하고 있습니까? 아니면 실제로 그렇게 생각하게 만드는 것이 있습니까? ' '사용은 어떨까요? 또는'위치/클라이언트/{...};'nginx에? – Ashe

+1

'mod_proxy'와 함께'mod_proxy'를 사용하여 프록시 된 URL 필터링을 할 수 있습니다. 그래서 특정 경로 나 디렉토리를 Go-based 서버와 같은 다른 백엔드 목적지로 밀어 넣거나 필요에 따라 경로의 다른 부분을 Apache 내에 유지할 수 있습니다. –

관련 문제