1


私はAmazon S3で静的Webサイトをホストすることに取り組んでいます.Webサイトの構造はbucket-name/site-name/files.htmlになります.今、私の問題は、ユーザーが自分のドメインを使用してWebサイトを公開できることです.例:彼はwww.ABC.comのようなドメインを所有しており、そこでサイトをホストしたいと考えています。
リクエストをプロキシするためにec2インスタンスにリバースプロキシサーバーをセットアップしました。つまり、www.ABC.comにアクセスする、S3バケットからのコンテンツが表示されるか、ドメイン名がS3バケットを指す必要があります。
DNS の変更と CNAME および A レコードの更新があることは認識していますが、必要に応じて URL をリダイレクトするには、NGINX 構成に RULES を記述する必要もあります。

これは私が持っている構造であり、機能しておらず、専門家に見てもらいたいです: 現在、私は自分のサイトをサブドメインで公開していますsites.development.com/bucket-name/sitename
これは、nginx インストール後の私の default.conf ファイルです

     server {
     listen       x.x.0.0:80;
     server_name  x.x.x.x;
     access_log  /var/log/nginx/access.log;
     error_log   /var/log/nginx/error.log;
     root        /usr/local/nginx/html;
     index       index.html;


    location / {
        proxy_pass  http://development.mydomain.com:9585;
        include /etc/nginx/proxy_params;
    }
   }

現在、URLがhttp://development.mydomain.com(これは独立したec2インスタンスです)開発サーバーに設定しています。プロキシ サーバーが とは異なる EC2 インスタンスで実行されていますhttp://development.mydomain.com

さまざまなソースからの提案に基づいて、いくつかの構造を考え出しました。
これです:

    server {
    listen 80;
    server_name x.x.x.x.; //This would be the name on which I have NGINX installed,right?

    set $host_without_www $host; //What would be the host?any host with www pointing to the site on S3?
    if ($host ~* www\.(.*)) {
       set $host_without_www $1;
    }

    location / {
        rewrite ^(.*)$ /$host_without_www$1 break;
        proxy_pass {{s3-bucket-url}};
    }
}

NGINX とプロキシ サーバーの経験がないため、しばらく立ち往生していました。
あなたの経験に基づいてコメントを共有し、解決策を提案してください。
ご清聴ありがとうございました

4

0 に答える 0