Реагировать на аксиальный запрос, заблокированный политикой CORS при развертывании на сервере - PullRequest
0 голосов
/ 16 июня 2019

Хорошо, я надеюсь, что я не делаю дубликат, но мой вопрос немного отличается от большинства результатов для вопросов CORS.

У меня есть бэкэнд api springboot rest, и у меня есть интерфейс с использованием Axios. в моем интерфейсе API я добавил

@CrossOrigin(origins = {"http://localhost:3000", "http://localhost"})
@RequestMapping ...
...

Локально все работает нормально. React работает на http://localhost:3000 API работает на http://localhost:8080/apixxx/orders

Итак, я развернул их на своем сервере Ubuntu: Реагирует на http://12.123.12.123 (порт 80) API работает на http://12.123.12.123:8080 (запросы почтальона успешны)

Теперь посмотрим, я поставил @CrossOrigin origin "http://localhost", потому что это для развернутой копии моего API, поскольку по отношению к серверу это localhost.

Теперь я получаю: Доступ к XMLHttpRequest в «http://localhost:8080/apireq/v1/apiresourcexx' из источника» http://12.123.12.123' был заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

это та же самая ошибка, которую я получаю локально при удалении @ CrossOrigin.

Я попытался добавить в начало координат "http://12.123.12.123"," http://12.123.12.123:80", "http://myDomainName.com" (имя моего домена)," http://myDomainName.com:80".

Ничего не работает. Все та же ошибка.

То, что я нашел работы:

@CrossOrigin(origins = {"*"})

Но я не хочу этого делать .... Пожалуйста, помогите.

----- UPDATE -----

Хорошо, я сейчас очень запутался. По-видимому, я только что понял, что маршрутизация axios, которую я использовал, является axios.post ('http://localhost:8080/apixxx/orders', ...); И в основном это будет указывать на запуск Springboot на моей локальной машине, а не на сервере Prod. Если это так, то каждый мой клиент будет иметь разное происхождение, и все они будут вызывать мой API ... Если это так, то единственным решением является то, которого я избегаю: @CrossOrigin (origins = "* «)

Пожалуйста, сообщите. Что вы, ребята, обычно делаете в этой ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...