2016-10-10 4 views
0

나는 Golang으로 다중 도메인을 처리하려고합니다. 다른 경우에는 브라우저가 http://sampledomain.me에 대한 요청을 보내는 특정 Golang 프로그램을 처리하는 경우,이 같이 Golang에서 다중 도메인을 처리 할 수 ​​있습니까?

,

, 나는 하나 개의 서버에 많은 프로그램을 원하는 각 도메인을 처리하기 위해, 그들의 각 하나를 말한다.

모든 프로그램이 80에서 수신 대기하고 많은 도메인이 하나의 서버를 가리 킵니다.

아무도 도와 줄 수 있습니까?

들으 ...

답변

5

Go 프로그램이 모두 포트 80에서 수신 대기 할 수 없습니다. 역방향 프록시로 작동하려면 앞에 nginx과 같은 것이 필요합니다. 다음의 nginx 설정 발췌는 각각 다른 포트에서 수신, 두 개의 서로 다른 프로그램에서 두 개의 도메인을 전달할 것입니다 : 어떤 경우에 권장하지만

server { 
     listen 80; 
     server_name www.domain1.com; 

     location/{ 
       proxy_pass http://127.0.0.1:8080; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header Host   $host; 
       proxy_read_timeout 600s; 
     } 

} 

server { 
     listen 80; 
     server_name www.domain2.com; 

     location/{ 
       proxy_pass http://127.0.0.1:8081; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header Host   $host; 
       proxy_read_timeout 600s; 
     } 

} 
+0

좋습니다! 그게 내가 원하는거야! – ahmdrz

0

도메인이 쉽게 사용 할 핸들러 필터링 할 수있는 URL에 있기 때문에 네, 가능합니다. 이 안내서를 찾았습니다 http://codepodu.com/subdomains-with-golang/

+0

예, 나는 보았다, 그러나 하위 도메인과는 같은 프로그램에서, 나는 멀티 프로그램 도메인을 핸들러하는 방법을하고자합니다. 하지만 포트 80에서 2 ~ 3 개의 프로그램을 어떻게 실행할 수 있는지 모르겠습니다. 답변을 주셔서 감사합니다 – ahmdrz

+0

역방향 프록시 또는로드 밸런스가 필요합니다. –

관련 문제