2017-04-01 4 views
0

두 개의 웹 앱이 동일한 가상 시스템에서 실행됩니다. 그것이 내가 앞으로 https://my.domain/chat_api (포트에서 Beego 가로 챌 가능성이있다, 하나는 Beego 포트 443을 듣고 있으며, 사용자가 때문에 자신의 ISP에 8000 포트를 연결할 수없는 경우 다른 포트 8000Beego를 사용하여 서버 API를 다른 포트로 전달

에서 Centrifugo 메시징 서버입니다 443)을 https://my.domain:8000/chat_api (Centrifugo의 포트 8000 서비스 제공)에 연결하여 내 채팅 클라이언트가 포트 8000을 연결하는 것처럼 포트 443을 연결합니까? 그렇다면 Beego의 구조에 따라 어떻게 구현합니까?

+0

(여기의 nginx와 역방향 프록시를 설정하는 방법을 예입니다)를 기계? 그리고 당신이하고 싶은 것은 통상적 인 https 콜 (Beego 어플리케이션에 의해 차단 될 것입니다)을 Centrifugo 어플리케이션으로 포워드하는 것입니까? – RayfenWindspear

+0

@RayfenWindspear, 예, 정확하게! 좀 더 명확하게 설명하기 위해 몇 가지 설명을 추가했습니다. – Ernie

답변

1

Beego에서 이것을 구현할 필요가 없습니다.

그냥 리버스 프록시 설정 : 만약 내가 제대로 이해하고, 같은 유닉스에서 실행에 쓸 두 개의 응용 프로그램이

server { 
    listen 443; 
    server_name example.com; 

    location /chat_api { 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $http_host; 
     proxy_pass   "http://127.0.0.1:8000"; 
    } 
    location /beego { 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $http_host; 
     proxy_pass   "http://127.0.0.1:8080"; 
    } 
} 
+0

대단히 고마워요! – Ernie