Новый ответ:
Обычно вам нужно в какой-то момент принять следующее решение:
Разрешен ли данному Origin доступ к запрошенному контенту?
Вы можете ответить на этот вопрос в обратном прокси-сервере, на веб-сервере конечных точек или в логе приложения c. Продвинутый: комбинируйте их и принимайте решения в нескольких местах. Только будьте осторожны, чтобы случайно не перезаписать ранее установленные заголовки.
Да?
Тогда заголовок должен быть установлен в стиле URI, содержащем:
http[s]://<trusted_origin_domain>[:port]
Из вашего вопроса неясно, в какой момент вы настраиваете logi c и устанавливаете информацию соответствующим образом.
Для простоты вы можете начать с разрешения nginx отправить правильный заголовок. Важно не смешивать заголовки, отправленные на узел, и заголовки, отправленные клиенту.
Если у вас есть реализация CORS в приложении, вы должны передать параметры (доверенный источник) через среду или в buildstep или на аналогичной стадии.
Выберите способ, который позволит вам масштабировать столько, сколько необходимо, при этом потребляя как можно меньше времени.
Более пристальный взгляд на вашу специфику c проблема
Это кажется, что ваши решения в приложении и в nginx совпадают.
Дополнительное примечание относительно HTTPS
Возможно, вы пропускаете незашифрованный http-трафик c при пересылке через inte rnet без дополнительных DNS и VPN setup.
Старый ответ:
Заголовок, отправленный в браузер, должен выглядеть точно так же, как в вашем случае:
Access-Control-Allow-Origin: http://172.16.198.102:32603
Когда вы перезаписываете Referer и Origin, вся безопасность не работает:
proxy_set_header Origin "http://localhost:32603";
proxy_set_header Referer "http://localhost:32603";
Удалите их.
Вы блокируете доступ к соответствующему заголовку CORS в браузере:
proxy_hide_header 'Access-Control-Allow-Origin';
Удалите и это.