在 Amazon AWS Elastic Beanstalk 中设置子域名

在 Amazon AWS Elastic Beanstalk 中设置子域名

我正在尝试在 Amazon 的 Elastic Beanstalk 中设置一个应用程序,并且我想使用子域作为应用程序的一部分。理想情况下,该子域将映射到文档根目录中的文件夹(即: http://test.mydomain.com从 /var/www/html/test 中提取源)。我可以在 Route 53 中为子域设置另一个别名记录,但是如何映射 Apache?

我能想到的唯一实现方法是直接通过 SSH 进入服务器,将 VirtualHost 条目添加到我的 httpd.conf,然后将该服务器转入 AMI 并重新部署到 EBS。这是唯一的选择吗?(似乎一定有更简单的方法)

谢谢!

答案1

使用 Elastic Beanstalk 无法实现这一点(至少在没有真正滥用它的情况下)。Elastic Beanstalk 是“即发即弃”类型的 PaaS 解决方案,旨在实现简单的部署。如果您确实需要这种类型的功能,请查看云形成它可以让你更细致地了解你的实例配置。

答案2

尝试以下链接。

在根目录下的 .ebextensions 目录中添加一个配置文件。

然后添加这个。

files:
  "/etc/httpd/conf.d/vhost.conf":
    mode: "000644"
    owner: root
    group: root
    encoding: plain
    content: |
      NameVirtualHost *:80

      <VirtualHost *:80>
        DocumentRoot "/var/app/current/"
         <Directory "/var/app/current/">
          Options Indexes FollowSymLinks MultiViews
          AllowOverride All
          Require all granted
         </Directory>
      </VirtualHost>

      <VirtualHost *:80>
       ServerName your-custom-domain-here.com
       DocumentRoot "/var/app/current/your-new-webroot"
        <Directory "/var/app/current/your-new-webroot">
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
         Require all granted
        </Directory>
      </VirtualHost> 

更多信息请点击这里:

http://blog.celingest.com/en/2013/04/05/elastic-beanstalk-cloudflare-newrelic-virtualhost-2/

相关内容