У меня есть доменное имя, купленное на Godaddy. Сайт размещен на Squarespace, поэтому я не хочу пересылать запросы от https://example.com на сайт Elasti c Bean Stalk.
У меня есть API, размещенный на EB, и сайт Squarespace делает запросы к этому API.
Мне нужно изменить URL-адрес EB по умолчанию https://dataservice-env.example.us-east-2.elasticbeanstalk.com на https://example.com/api
Я здесь в основном DNS-нуб. Я нашел статьи для пересылки доменов Godaddy в EB, но это не то, что я хочу сделать, это то, что я думаю, это описывает ...
{ ссылка }
РЕДАКТИРОВАТЬ -
Если кто-то еще пытается сделать что-то подобное (сделать запросы API от одного домена к EB через HTTPS на поддомене), вот как я это сделал ....
- Зарегистрируйте домен в Route 53
- Создайте хост-зону
- Экспортируйте файл зоны из GoDaddy
- Импортируйте файл зоны в Route 53 Hosted Zone
- Запросить сертификат у AWS Диспетчер сертификатов
- Использовать поддомен api.example.com для значения имени домена
- Нажмите «Создать запись в маршруте 53»
- В маршруте 53 нажмите «Создать запись»
- Имя: API. css -ll c .io
- Тип: Адрес A-IPv4
- Псевдоним: Да
- Псевдоним Цель: EB URL - env.tstuff.us-east-2.elasticbeanstalk.com
- Создать балансировщик нагрузки. Наиболее важным является создание прослушивателя для HTTPS. Он будет перенаправлять запросы с порта 443 на порт 80. net Core API работает на порту 80
- Порт прослушивателя: 443
- Порт экземпляра : 80
- Протокол прослушивания: HTTPS
- Протокол экземпляра: HTTP
- Используйте сертификат api.example.com, созданный выше
- Добавьте этот балансировщик нагрузки в экземпляр EC2 , Экземпляр EC2 должен быть создан при развертывании образа Docker. Разрешить входящий трафик HTTPS c в двух группах безопасности, созданных балансировщиком нагрузки
- Добавить поддержку CORS для API-сервера. Пример ниже для. net Core CORS
Это должно вернуть правильные заголовки ответа и должно быть в состоянии сделать запросы от example.com к api.example.com через HTTPS
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseCors(builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}