Я использую Nginx для выбора между двумя docker контейнерами. Первый из них работает Vue. js, а другой - Node.js API.
Когда я пытаюсь получить доступ к сайту, он работает так, как должен. Но когда я пытаюсь получить доступ к внутренней ссылке, например: mysite.app/products/1
, возвращается веб-сайт Node.js get error с сообщением Cannot GET /product/1
.
Файл nginx .conf:
...
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mysite.app www.mysite.app;
location / {
try_files $uri @front;
}
location @front {
proxy_pass http://front:8888;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" always;
}
location /api/ {
proxy_pass http://api:3000/;
}
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
}
Я попытался изменить строку location /api/
на location ^~ /api
, но у меня та же ошибка.