Задать вопрос
@4ch23

Как обойти CORS при локальной разработке на docker и node?

Дано:
* Docker образ с nginx, php, nextjs с доступным API по адресу api.shop.local/ и фронтом shop.local/ (Эта связка работает, на CORS не ругается)
* Тот же образ, но Development, где NextJS сервер, запускается уже не из докера по адресу localhost:3000/, а api доступно всё там же по api.shop.local/

В development режиме возникает проблема с тем, что куки пришедшие в заголовках от API не сохраняются. Ругается на CORS, когда настраиваю все необходимые заголовки - ругается на то, что api.shop.local не HTTPS.

Хочется иметь возможность в localhost:3000/ сохранять куки из заголовков Set-Cookie от api.shop.local/

1. Возможно ли это в принципе сделать?

От CORS уже если честно устал.. буду благодарен, если поймёте вопрос выше, и если не сможете ответить на него то ответьте хотя бы на этот
2. Как сделать доступным localhost:3000 на shop.local/ (windows)? Может какие-то программы есть для этого?
3. Можно ли на как-то запустить api.shop.local из докера на https?
  • Вопрос задан
  • 1063 просмотра
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
@4ch23 Автор вопроса
Решение оказалось довольно простым, для того что бы сделать доступным NextJS по shop.local всего-то надо было пробросить его порт в docker, а уже из него отдавать в 80-й.

Конфигурация nginx:

server {
    listen 80 default_server;
    server_name shop.local;

    location / {
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header   X-Forwarded-For $remote_addr;
            proxy_set_header   Host $http_host;
            proxy_pass         http://host.docker.internal:3000;
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы