gpt4 book ai didi

node.js - 将域重定向到 ip 和端口

转载 作者:搜寻专家 更新时间:2023-10-31 23:35:53 25 4
gpt4 key购买 nike

我有一个监听 4000 端口的 node.js 服务器

如何将我的域名:www.mydomain.com 重定向到一个 ip 和端口?域提供商只允许重定向字段中没有端口号的 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。

关于node.js - 将域重定向到 ip 和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17478087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com