Nginx - угловая универсальная + простая угловая конфигурация - PullRequest
0 голосов
/ 01 октября 2019

У меня есть сервер, на котором будут развернуты два разных проекта - пользовательский (Angular Universal) и админский (Simple Angular).

Пользовательский проект разрабатывается с использованием Angular universal. Для пользовательского проекта у меня есть следующие конфигурации nginx - которые работают хорошо.

nginx.conf (минимальный контент)

# Running on Node
upstream nrc_frontend_nodejs {
    server 127.0.0.1:4000;
}
...

root /home/user/webapp/dist;

location / {
        try_files $uri $uri @backend; # <--- This looks for requests (statics)
                                      # in dist folder. If nothing found, calls @backend
    }

    location @backend {

        proxy_pass http://nrc_frontend_nodejs;
        .... Own server configurations
    }

Пользовательский проект работает хорошо.

Теперь я пытаюсь добавить еще один простой угловой проект (проект администратора - без универсального - технически статического контента). Поэтому я создал папку «admin» внутри / home / user / webapp /

Затем я попробовал несколько способов заставить его работать, но он не работает. В основном это перенаправляет на пользовательский проект.

nginx.conf (строки добавлены до location /)

  location /admin {
        root /home/user/webapp/admin;
        try_files $uri $uri/ /index.html; #<--- because its angular project
   }

Так что теперь, когда я нажимаю site.com/ admin или site.com / admin / blah / blah всегда перенаправляет на пользовательский проект.

Что я делаю не так?

1 Ответ

0 голосов
/ 02 октября 2019

Если я правильно вас понял, вы пытаетесь получить доступ к двум угловым проектам, используя разные URL.

Один из них, Angular Universal, работает правильно, передавая его по доверенности.

Теперь вы хотите добавить нормальный угловой дистант под другим URL.

Так что я бы предложилиспользуйте другой блок сервера внутри файла конфигурации nginx.

server {
    listen 80 default_server;

    root /home/user/webapp/admin;


    server_name _;

    location / {
            try_files $uri $uri/ /index.html;
    }
}

Это должно работать идеально. Дайте мне знать, если у вас возникли проблемы, или я понял всю проблему по-другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...