Настройка обратного прокси-сервера NGINX для сайтов, размещенных на S3
Я работаю над размещением статических сайтов на Amazon S3.Структура сайта будет/ Сайт-имя ковшового имя / files.htmlТеперь моя проблема в том, что пользователь может использовать свой собственный домен для публикации сайта. Например: он владеет таким доменом, какwww.ABC.com и хочет разместить там свой сайт.
Я настроил обратный прокси-сервер на экземпляре ec2 для проксирования запросов, т.е.www.ABC.com должен видеть содержимое из корзины S3 или доменное имя должно указывать на корзину S3.
Я знаю, что есть изменения DNS и обновление записей CNAME и A, но мне также нужно написать ПРАВИЛА в конфигурации NGINX, чтобы перенаправить URL-адрес, как я хочу.
Это структура, которая у меня не работает, и я хотел бы, чтобы эксперты посмотрели на нее: в настоящее время я публикую свои сайты на поддомене.sites.development.com/bucket-name/sitename
Это мой файл default.conf после установки nginx
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 и прокси-серверами, поэтому я застрял на некоторое время.
Пожалуйста, поделитесь комментариями на основе вашего опыта и предложить решение.
Спасибо за внимание