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