Bună, rulez Laravel pe serverul NGINX și aș dori să folosesc capacitatea de proxy invers NGINX ca gateway API pentru aplicația mea Laravel și alte noduri API. Iată configurațiile mele:
Adresa URL a aplicației: staging-app.example.com
Punct final API al aplicației: staging-app.example.com/api
Adresa URL a gateway-ului API: api.example.com
Ceea ce vreau să fac este să redirecționez toate solicitările API api.example.com/staging-app
la staging-app.example.com/api
. Am reușit să redirecționez cererea API, dar cumva Antet de autorizare
nu este transmisă la trecerea proxy, rezultând 401 neautorizat, în timp ce alte anteturi sunt transmise.
Aici este curentul meu api.example.com
configurație nginx:
Server {
nume_server api.example.com;
locație /staging-app {
rescrie ^/staging-app/(.*)$ /$1 pauză;
proxy_pass http://staging-app.example.com/;
}
locație /test {
rescrie ^/test/(.*)$ /$1 pauză;
proxy_pass http://127.0.0.1:3333/;
}
asculta [::]:443 ssl; # gestionat de Certbot
asculta 443 ssl; # gestionat de Certbot
ssl_certificate /etc/letsencrypt/live/api.example.com/fullchain.pem; # gestionat de Certbot
ssl_certificate_key /etc/letsencrypt/live/api.example.com/privkey.pem; # gestionat de Certbot
includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
}
Server {
dacă ($gazdă = api.example.com) {
returnează 301 https://$host$request_uri;
} # gestionat de Certbot
asculta 80;
asculta [::]:80;
nume_server api.example.com;
întoarce 404; # gestionat de Certbot
}
iar pentru aplicația mea laravel, folosesc configurația dată de la Laravel înșiși
Actualizare 1: am încercat să adaug proxy_set_header Testare valoare de testare
direct in blocul de locatii, dar nici nu pare sa functioneze