簡體   English   中英

Node.js:如何將子域重定向到端口?

[英]Nodejs : how to redirect subdomains to ports?

我正在創建一個以API為后端的全棧Web應用程序,並將其托管在DigitalOcean服務器上。

前端(reactjs)在端口(3000)上運行,后端(express服務器-RESTFul API-)在另一個(3001)上運行。

我希望能夠從一個域中與它們兩者進行通信。

例如:

我怎樣才能做到這一點 ?

我已經嘗試了一些方法:

  • 從我的提供商(ovh.com)重定向子域=>這不是方法
  • 在端口80的根目錄上創建第三個nodejs服務器並手動重定向,但是我認為這不是一個好方法,因為我必須考慮所有可能的域名(www.mydomain.com/mydomain.com/http:/等...)並用於同時運行

我真的不想將前端和后端放在同一台正在運行的服務器中(相同的端口)

我在掌握服務器方面還很陌生,所以我什么都不知道,對不起。

謝謝您的幫助。

PS:我是法國人,很抱歉英語不好:)

您好,因為我沒有太多信息,我將保持一般。 您想要的是反向代理。 您可以使用http-proxy-middleware: https : //www.npmjs.com/package/http-proxy-middleware

比方說,你運行你的前端http://example.com:3000和你的后端http://example.com:3001

現在,假設您希望http://example.com:3001/42-is-the-answer指向http://example.com:3000 (可以根據需要添加路徑)。

唯一要做的就是在example.com:3001的服務器實例上使用代理,如下所示:

const proxy = require("http-proxy-middleware");
const app = express();
....
app.use(    proxy("/42-is-the-answer", {
  target: "http://example.com:3000/"
}))

現在,如果您訪問http://example.com:3001/42-is-the-answer ,該請求將被代理到http://example.com:3000

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM