将子域名与Amazon EC2公共DNS地址一起使用?

 巴黎不快乐123 发布于 2023-02-07 19:25

我正在尝试使用依赖于客户端子域的遗留应用程序进行一些测试.所以在实际应用中,你可以去:

clienta.domain.com

它将为客户A打开一个特定区域.

使用EC2,我试图让应用程序只使用与此类似的公共DNS地址:

ec2-123-123-123-123.compute-1.amazonaws.com

问题是,设置我的虚拟主机(如此帖子),适用于主公共DNS地址,但不适用于子域.

clienta.ec2-123-123-123-123.compute-1.amazonaws.com => 不工作

我想这是因为还必须创建DNS CNAME记录?我显然不拥有amazonaws.com所以没有能力做到这一点.

这是vhost设置:

NameVirtualHost *:80

# Primary domain

    DocumentRoot "/var/www/vhosts/myapp"
    ServerName ec2-123-123-123-123.compute-1.amazonaws.com
    
            Options Indexes MultiViews FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
    


# Wildcard Sub Domains

    DocumentRoot "/var/www/vhosts/myapp"
    ServerName clients.ec2-123-123-123-123.compute-1.amazonaws.com
    ServerAlias *.ec2-123-123-123-123.compute-1.amazonaws.com
    
            Options Indexes MultiViews FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
    

TL; DR; 在不弄乱DNS的情况下,是否有一种简单的方法可以将子域与Amazon EC2公共DNS地址一起使用?

注意:我试图避免在我们的DNS中添加仅在短时间内使用的记录.

UPDATE

如果我必须使用自己的域名,我该如何解决两个子域名?例如,如果我创建staging.mydomain.com以指向EC2实例,那么现在我将如何访问clienta.staging.mydomain.com

2 个回答
  • 需要使用自己的DNS才能使用子域.AWS的DNS在其动态分配的DNS上没有通配符记录.

    你可以试试:

    dig clients.ec2-123-123-123-123.compute-1.amazonaws.com 你会得到0个答案.

    至于:

    如果我必须使用自己的域名,我该如何解决两个子域名?例如,如果我创建staging.mydomain.com以指向EC2实例,那么现在我将如何访问clienta.staging.mydomain.com?

    同样,您需要DNS记录clienta.staging.mydomain.com指向主机的IP地址,然后让Apache或任何服务器通道请求到正确的vhost.但是你的clienta.staging.mydomain.com请求永远不会知道去哪里,除非有明确的dns条目.某些DNS服务提供基于通配符的全方位DNS条目(即*.clients.blah.com),因此如果您的DNS提供商支持,这可能是一个选项.

    另一个建议是使用目录而不是子域.因此,不是创建一个新的子域,而是拥有clients.domain.comDNS条目,然后拥有clients.domain.com/clientaclients.domain.com/clientb

    2023-02-07 19:26 回答
  • 你为什么不使用自己的域名?大多数基于EC2的Web服务不使用EC2公共DNS,因为公共DNS可能会发生变化.

    您可能想要调查的是使用弹性IP,以便为您的实例提供可以配置DNS的稳定IP地址,然后将这些弹性IP附加到您的EC2实例.

    以下是有关Elastic IP的AWS文档:http://aws.amazon.com/articles/1346

    当然,如果您计划使用负载平衡配置,那么您实际上将使用Elastic Load Balancer而不是Elastic IP.在此配置中,您的DNS将指向ELB.

    以下是有关Elastic Load Balancing的信息:http://aws.amazon.com/elasticloadbalancing/

    2023-02-07 19:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有