Я работаю над размещением статических веб-сайтов на amazon S3.Создание веб-сайта будет состоять из bucket-name / site-name / 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 xx0.0:80; server_name xxxx; 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 xxxx; //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 и прокси-серверами и, следовательно, застрял в течение некоторого времени.
Пожалуйста, поделитесь комментариями на основе вашего опыта и предложите решение.
Спасибо за внимание