2017-04-01 670 views
0

我有兩個Web應用程序在同一個虛擬機中運行。一是Beego監聽端口443,另一個是在端口8000使用Beego將服務器API轉發到另一個端口

Centrifugo郵件服務器如果用戶是不允許的端口8000連接,由於他的ISP,是有可能,我向前https://my.domain/chat_api(由Beego在港口截獲443)到https://my.domain:8000/chat_api(由Centrifugo在8000端口提供服務),這樣我的聊天客戶端就像連接端口8000一樣連接端口443?如果是,我如何在Beego的結構下實施?

+0

如果我理解正確的話,你必須寫在圍棋兩個獨立的應用程序在相同的UNIX上運行機?你想做的是轉發一個普通的https呼叫(這將被Beego應用攔截)到Centrifugo應用程序? – RayfenWindspear

+0

@RayfenWindspear,是的,確切的!我已經添加了一些描述來解釋更清楚。 – Ernie

回答

1

你不需要在Beego中實現它。

剛剛成立了一個反向代理:(這裏有一個例子如何建立與nginx的反向代理)

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

相關問題