Что такое эластичный IP на Amazon EC2? это нормально, если я им не пользуюсь?
Я разместил приложение RoR на экземпляре Amazon EC2. Экземпляр имеет публичный IP, но не назначается эластичный IP. Приложение указывает на домен с помощью Dreamhost.
Мы используем Amazon S3 для хранения аудиофайлов, загруженных через веб-приложение, загрузки этих файлов обратно на сайт и воспроизведения в проигрывателе.
Вот где я сталкиваюсь со странной проблемой, иногда файлы воспроизводятся нормально, но иногда выдает ошибку, говоря
В запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". происхождения
http://XX.XXX.XX.XXX
поэтому не разрешен доступ.
Но в то же время, если я скопирую S3 url вставки в браузере за пределами моего приложения, оно загружается.
Почему ошибка дает IP-адрес вместо того, чтобы сказать, что mydoamin.com не имеет доступа?
Я предполагаю, что проблема из-за некоторых конфигураций домена /IP.
1 ответ
Эластичный IP на Amazon - это IP, который зарезервирован для вас. Без этого каждый раз, когда вы останавливаете и запускаете свой экземпляр, ему назначается другой IP-адрес.
Вам не нужно использовать эластичный IP, например, вы можете указать свой домен на CNAME ELB (эластичный балансировщик нагрузки), который будет оставаться постоянным, так как он балансирует нагрузку между одним или несколькими экземплярами вашего приложения.
Я не уверен, что это как-то связано с ошибкой, которая объясняется в этом ответе:
Сайт B использует
Access-Control-Allow-Origin
сообщить браузеру, что содержимое этой страницы доступно для определенных доменов. По умолчанию страницы сайта B недоступны для любого другого домена; Использование заголовка ACAO открывает двери для междоменного доступа по конкретным доменам.Сайт B должен обслуживать свои страницы с
Access-Control-Allow-Origin: http://sitea.com
Кажется, что проблемная ссылка - это абсолютный путь с явным IP, я понятия не имею, почему это должно произойти, посмотрите на источник страницы, с которой ссылка не работает, и попытайтесь выяснить это.