web-dev-qa-db-ja.com

Amazon AWS Elastic Beanstalk内でサブドメインを設定する

AmazonのElastic Beanstalk内でアプリケーションをセットアップしようとしています。アプリケーションの一部にサブドメインを使用したいと思います。理想的には、そのサブドメインはドキュメントルート内のフォルダーにマップされます(例: http://test.mydomain.com は、/ var/www/html/testからソースをプルします)。 Route 53でサブドメインの別のエイリアスレコードを設定できますが、Apacheをマップするにはどうすればよいですか?

これを達成するために考えられる唯一の方法は、サーバーに直接SSHで接続し、VirtualHostエントリをhttpd.confに追加して、そのサーバーをAMIにロールバックし、EBS全体に再デプロイすることです。それが唯一の選択肢ですか? (もっと簡単な方法があるはずです)

ありがとう!

5
Harry

これはElasticBeanstalkでは不可能です(少なくとも実際に誤用しない限り)。 Elastic Beanstalkは、単純な展開を目的とした「ファイアアンドフォーゲット」タイプのPaaSソリューションです。このタイプの機能が本当に必要な場合は、 CloudFormation を調べてください。これにより、インスタンス構成をより詳細に把握できます。

0
jamieb

次のリンクを試してください。

ルートの.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/

20
Sam Brook

正しい答えの後にスクロールする人のためにここに解決策があります。

$ cd etc/httpd/conf/
$ Sudo nano httpd.conf

これらの行を最後に追加します

<VirtualHost *:80>
    ServerAlias yourstaticsubdomain.example.com
    DocumentRoot "/var/www/html/static"
    <Directory "/var/www/html/static">
    AllowOverride All
    Require all Granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAlias www.example.com
    DocumentRoot "/var/www/html"
    <Directory "/var/www/html">
    AllowOverride All
    Require all Granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAlias *.example.com
    DocumentRoot "/var/www/html/wildcard"
    <Directory "/var/www/html/wildcard">
    AllowOverride All
    Require all Granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName waybill.work
    DocumentRoot "/var/www/html"
    <Directory "/var/www/html">
    AllowOverride All
    Require all Granted
    </Directory>
</VirtualHost>

注:2.4未満のAppacheバージョンはこの行を追加します

NameVirtualHost *:80 

上記のコードの前。

0
Ramjith Ap