Привет, я запускаю Laravel на сервере NGINX, и я хотел бы использовать возможность обратного прокси-сервера NGINX в качестве шлюза API для моего Laravel и другого приложения API узла. Вот мои конфигурации:
URL-адрес приложения: промежуточное приложение.example.com
Конечная точка API приложения: промежуточное приложение.example.com/api
URL шлюза API: api.example.com
Что я хочу сделать, так это перенаправить все запросы API api.example.com/staging-приложение
к промежуточное приложение.example.com/api
. Мне удалось перенаправить запрос API, но почему-то Заголовок авторизации
не передается на прокси-проход, что приводит к 401 несанкционированному доступу, в то время как другой заголовок передается.
Вот мой текущий api.example.com
конфиг нгинкс:
сервер {
имя_сервера api.example.com;
местоположение / промежуточное приложение {
переписать ^/staging-app/(.*)$ /$1 break;
proxy_pass http://staging-app.example.com/;
}
местоположение/тест {
переписать ^/test/(.*)$ /$1 break;
прокси_пароль http://127.0.0.1:3333/;
}
слушать [::]:443 ssl; # под управлением Certbot
слушать 443 ssl; # под управлением Certbot
ssl_certificate /etc/letsencrypt/live/api.example.com/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/api.example.com/privkey.pem; # под управлением Certbot
включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
}
сервер {
если ($ хост = api.example.com) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
слушать 80;
слушать [::]:80;
имя_сервера api.example.com;
вернуть 404; # под управлением Certbot
}
и для моего приложения laravel я использую конфигурацию, указанную в сами Laravel
Обновление 1: я попытался добавить proxy_set_header Тестовое тестовое значение
в блоке местоположения напрямую, но, похоже, он тоже не работает