首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将域名重定向到ip和端口

将域名重定向到ip和端口
EN

Stack Overflow用户
提问于 2013-07-05 05:04:59
回答 2查看 4.5K关注 0票数 4

我有一台node.js服务器在监听端口4000

如何将域名: www.mydomain.com重定向到ip和端口?域提供商仅允许在重定向字段中使用没有端口号的ip地址。如果我执行URL重定向,则不会显示我那一侧的名称。

请告诉我如何将其重定向到我的域名?

代码语言:javascript
复制
121.12.12.123:4000    redirect to   www.mydomain.com
EN

回答 2

Stack Overflow用户

发布于 2013-07-05 05:11:29

HTTP请求通常通过端口80传入。当您键入域但未指定端口时,它会自动连接到端口80。你有几个选择。您可以以根用户身份运行Node.js服务器,并让它监听端口80,但不建议这样做。

您还可以在端口80上设置一个Nginx,并使用它将代理请求反向发送到侦听端口4000的Node.js进程,但这会在堆栈中引入另一个组件来管理,并为每个请求引入一些开销。

我更喜欢的处理方式是在iptables中设置重定向(假设您使用的是Linux)。

代码语言:javascript
复制
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。

票数 5
EN

Stack Overflow用户

发布于 2015-10-16 23:56:40

试试这段代码

代码语言:javascript
复制
var httpProxy = require('http-proxy');
httpProxy.createProxyServer({target:'http://localhost:4000'}).listen(80);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17478087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档