我有一个域 example.com,其 DNS A 记录指向公共 IP xxxx,
我需要从该服务器获取所有 http 和 https 请求,并将该流量转发到另一个公共 IP yyyy
有什么想法可以实现吗?
我一直在阅读有关 Nginx 重定向的文章,但我不知道这是否是正确的方法以及是否可以做到。PD
。我有一个指向 yyyy 的 www.example.com 的 DNS A 记录,问题出在 example.com 上,因为我无法更改 DNS 记录以指向 IP yyyy,因为这会干扰来自具有 xxxx 地址的服务器的邮件服务。
答案1
您不会将 HTTP 重定向到 IP 地址,而是重定向到主机名。由于您已经www.example.com
指向正确的 IP 地址,因此这应该很容易。目前我假设您使用的是 TLS,因此此 Nginx 示例将和http://
重定向https://example.com
到典范子域名地址https://www.example.com
。
server {
listen 80;
listen 443 ssl;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
答案2
如果您可以访问 DNS 配置,则可以使用子域名:
www.example.com. IN A y.y.y.y
mail.example.com. IN A x.x.x.x
如果没有,请使用 nginx(或其他工具)来重定向流量。