Бэкэнд My Rails (api.mydomain.com) размещен в EBS.Хосты EC2 имеют группу безопасности VPC.Входящие правила группы безопасности VPC разрешают только соответствующую группу безопасности балансировщика нагрузки по HTTP.Группа безопасности балансировщика нагрузки допускает 0.0.0.0/0 как для HTTP, так и для HTTPS.Я хотел бы ограничить вызовы API, которые попадают в мой сервер Rails, только из моего приложения Angular, размещенного на S3 (mydomain.com).Возможно ли это?
0.0.0.0/0
Я хочу предотвратить попадание других серверов на мои API.
Это не относится к вашей безопасности в AWS;Вы должны установить параметры CORS для своего внутреннего API и настроить свой API только на прием запроса от вашего домена.
Понимание CORS
Политика одного и того же происхождения - это важная концепция безопасности, реализованная веб-браузерами для предотвращения запросов кода Javascript к другому источнику (например, другому домену), отличному от того, из которого он обслуживался.Хотя политика одного и того же происхождения эффективна в предотвращении ресурсов из разных источников, она также предотвращает законные взаимодействия между сервером и клиентами известного и доверенного происхождения.
Обмен ресурсами между источниками (CORS) - это метод дляослабление политики одного и того же источника, позволяющей Javascript на веб-странице использовать API REST из другого источника.
Для получения дополнительной информации ознакомьтесь со следующими документами:
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
https://www.html5rocks.com/en/tutorials/cors/
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
и эти документы о CORS и Rails
https://demisx.github.io/rails-api/2014/02/18/configure-accept-headers-cors.html
https://til.hashrocket.com/posts/4d7f12b213-rails-5-api-and-cors
Как включить CORS в приложении Rails 4