У меня есть два сервера, работающих под управлением nginx:
На сервере 1 есть ряд проектов, на сервере 2 есть новый Vue / Nuxtjs (узел)
На сервере 1 я настроилproxy_pass
на статический IP-адрес сервера 2, на котором запущено приложение на основе моего узла. Таким образом, цель состоит в том, чтобы пользователи просто видели http://domain.tld/folder
, http://domain.tld/folder/login
и т. Д. При просмотре сайта
Сервер 1:
location /folder/ {
proxy_pass http://200.1.1.1/; // IP of server 2
}
Сервер 2:
location / {
proxy_pass http://localhost:3000;
}
Это работает частично, но все ресурсы равны 404. И при переходе по ссылкам браузер посещает http://domain.tld/login
[Обновление] Полный сервер 2 Конфигурация nginx (закомментировал некоторые вещи, чтобы избежать конфликтов):
server {
listen 80;
listen 443;
# set path to your project dir
set $root_path /root/app;
# static content directory
root $root_path/client/nuxt-dist/dist;
# proxy to nuxt renderer
try_files $uri $uri/ @nodeproxy;
location @nodeproxy {
proxy_pass http://localhost:3000;
}
# entry point for API server, if you have one
location /api {
proxy_pass http://localhost:3001;
client_max_body_size 3m;
}
# serve nuxt bundle with max cache life. Only compatible with nuxt 2.*
# location ~^\/_nuxt(.*)$ {
# alias $root_path/client/.nuxt/dist/client/$1;
# gzip on;
# gzip_comp_level 6;
# gzip_vary on;
# gzip_types text/css application/json application/javascript text/javascript application/x-font-ttf font/opentype;
# expires max;
# }
# serve static content
location ~* \.(js|jpg|jpeg|txt|png|css|pdf|ico|map)$ {
gzip_static on;
expires 30d;
}
# refirect from /path/ to /path
# rewrite ^/(.*)/$ /$1 permanent;
}