Я пытаюсь заставить мой статический веб-сайт отправлять некоторые базовые вызовы API в экземпляр EC2 - сможет ли кто-нибудь поделиться передовым опытом или указать мне правильное направление?
Текущая настройка таковаследующим образом:
- Пакет React и статические активы обслуживаются в облачном фронте / s3
- SSL, управляемый через ACM и автоматически применяемый для моего развертывания Cloudfront
- Домен, зарегистрированный и управляемый черезМаршрут 53
Похоже, у меня есть два варианта - пропустить вызовы API через облачный фронт (кажется, это не сработает) или разрешить клиентскую сторону из разных источников и направить мои запросы axios на другой IP,Является ли разрешение CORS таким способом считаться плохой практикой?
Для первого варианта я создал второе начало на облачном фронте и указал его на маршрут 53 DNS, который указывает на мой эластичный IP для ec2.Проблема в том, что я не могу заставить работать API, несмотря на то, что в моей консоли Cloudfront включен POST для всех источников:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>MethodNotAllowed</Code>
<Message>The specified method is not allowed against this resource.</Message>
<Method>POST</Method>
<ResourceType>OBJECT</ResourceType>
<RequestId>2B5DB5E28188BE4A</RequestId>
<HostId>yXiiLTR5v8KERjzbG3fx4BGcZG5FO0e3Yufa0b9aC2W3sMyuOK3BBADtZj097T8E0qBZ3F/rBC8=</HostId>
</Error>
Полагаю, мои вопросы, помимо настройки проверки работоспособности, таковы:
Нужно ли запускать какие-тосертификата на моем экземпляре EC2?В настоящее время я перенаправляю все HTTP на HTTPS для моих статических активов - как это вписывается в вызовы API с помощью axios в React?Будут ли вызовы API автоматически отправляться через 443, когда клиент подключен через https?
Есть ли лучший способ выполнить то, что я пытаюсь сделать?Это персональный веб-сайт, имеющий форму электронной почты (единственная причина, по которой он не может быть полностью статичным). Все, что я запускаю на бэкэнде, - это чрезвычайно легкий экземпляр узла, который отправляет электронные письма владельцу
Большое спасибо за ваше время и помощь!Я ценю это