Amazon-Ec2

在 Amazon AWS Elastic Beanstalk 中設置子域

  • September 14, 2020

我正在嘗試在 Amazon 的 Elastic Beanstalk 中設置一個應用程序,並且我想為該應用程序的一部分使用一個子域。理想情況下,該子域將映射到文件根目錄中的文件夾(即: http ://test.mydomain.com從 /var/www/html/test 中提取源)。我可以在 Route 53 中為子域設置另一個別名記錄,但是如何映射 Apache?

我能想到的唯一方法是直接通過 SSH 連接到伺服器,將 VirtualHost 條目添加到我的 httpd.conf,然後將該伺服器滾動到 AMI 並跨 EBS 重新部署。那是唯一的選擇嗎?(似乎必須有更簡單的方法)

謝謝!

這對於 Elastic Beanstalk 是不可能的(至少在沒有真正濫用它的情況下是不可能的)。Elastic Beanstalk 是針對簡單部署的“即發即棄”類型的 PaaS 解決方案。如果您真的需要這種類型的功能,請查看CloudFormation,它可以讓您更精細地使用實例配置。

試試下面的連結。

在 .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/

引用自:https://serverfault.com/questions/407961