怎么用nginx不同域名指向同一IP不同端口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用nginx不同域名指向同一IP不同端口相关的知识,希望对你有一定的参考价值。

参考技术A 编辑nginx的配置文件
如下:
server

listen 80;
其中80为监听端口
参考技术B 试试top的

将不同主机的多个IP地址指向具有不同端口的同一域名

我尝试使用弹性IP地址创建Amazon EC2实例。在那里我部署了Bitnami的MEAN应用程序。

另一方面,我们有一个CPanel(未部署在亚马逊,我认为它是Apache,不确定,我不是部署它的人)

Cpanel已经指向www.example.com,因此我们可以通过www.example.com:2082访问cpanel,但默认的www.example.com:80为空/空。我们正在使用Cpanel作为邮件服务器。

我需要做的是将Amazon EC2公共IP和DNS指向www.example.com:80。我可以在Cpanel DNS区域编辑器中进行设置吗?或者我是否需要设置Amazon Route 53?我需要什么?

如果我在亚马逊的Cpanel DNS区域编辑器中创建新的A记录,我将无法访问Cpanel www.example.com:2082。我现在真的很困惑。请帮忙。

答案

您需要在两者之间引入代理服务器来执行此操作,因为在DNS中您无法设置端口,因为已经定义了每种类型的请求端口。您可以添加nginx或haproxy或任何其他反向代理服务器,它将接受所有请求并将请求传递到适当端口上的相应主机。

另一答案

我知道它有点晚了,以防你仍然需要它或有人遇到这个:

无需代理。

You point the A record for example.com to EC2 IP.
CNAME for WWW to example.com
Then you should have an A record for mail.example.com for your cPanel IP
Your MX records should point to mail.example.com and not to example.com.
And you can access cPanel at mail.example.com:2082 or whatever the server's IP or main hostname is. The main hostname has the advantage that you can use port 2083 for SSL cPanel connections
Just make sure the e-mail clients use mail.example.com and not example.com as the connecting mail server.

以上是关于怎么用nginx不同域名指向同一IP不同端口的主要内容,如果未能解决你的问题,请参考以下文章

将不同主机的多个IP地址指向具有不同端口的同一域名

将两个域名解析到同一台服务器的不同端口

Nginx跨域访问问题总结

Nginx虚拟主机配置

域名解析的设置中,怎么将两个域名指向同一个IP的不同目录?

宝塔同IP或同域名不同端口分别对应不同网站教程