簡體   English   中英

將域重定向到IP和端口

[英]Redirect a domain to a ip and port

我有一個node.js服務器偵聽端口4000

如何將我的域名:www.mydomain.com重定向到IP和端口? 域提供程序僅允許在重定向字段中沒有portnumber的ip地址。 如果我進行URL重定向,則不顯示我方的名稱。

請讓我知道如何將其重定向到我的域名?

121.12.12.123:4000    redirect to   www.mydomain.com

HTTP請求通常在端口80上。當您鍵入域並且未指定端口時,它會自動連接到端口80.您有幾個選項。 您可以以root身份運行Node.js服務器並讓它在端口80上偵聽,但不建議這樣做。

您還可以在端口80上設置Nginx並使用它來反轉對正在偵聽端口4000的Node.js進程的代理請求,但這會在您的堆棧中引入另一個組件來管理並為每個請求引入一些開銷。

我更喜歡處理這個問題的方法是在iptables中設置重定向(假設您正在使用Linux)。

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 4000

這會將所有流量從端口80重定向到端口4000,您正在偵聽Node.js進程。

這允許您以非特權用戶身份運行Node.js進程,但仍然在端口80上應答請求。

完成后,您可以簡單地將域指向服務器的IP地址,並且正常的Web請求應該可以正常工作。 確保首先在任何防火牆上打開端口80。

試試這段代碼

var httpProxy = require('http-proxy');
httpProxy.createProxyServer({target:'http://localhost:4000'}).listen(80);

暫無
暫無

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

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