Сервисный работник не позволяет Nginx соответствовать местоположению - PullRequest
0 голосов
/ 26 сентября 2018

С Nginx я работаю с приложением CMS на /admin и приложением React с React Router на /.

Если я отмечу /admin, я вижу CMS.Но если я перехожу на / (где я вижу приложение), а затем я возвращаюсь на /admin, я получаю страницу 404 приложения.После этого невозможно увидеть CMS.

Единственный способ снова увидеть CMS - это очистить историю браузера и сначала перейти на /admin.

Если я использую curl на терминалехотя я не могу воспроизвести проблему.

Мои предположения

Работник службы Create-React-App запрещает другие местоположения после загрузки

Конфигурация Nginx

server {
    # ...some code

    root /home/myuser/app/build;

    location ~ ^/admin(/.*|$) {
        alias /home/myuser/admin/public$1;
        # ...some code
    }

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

    location ~ \.html?$ {
        expires 1d;
    }
}

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Я закончил тем, что отменил регистрацию Обслуживающего работника согласно Комментарий Дэна .

import { unregister } from './registerServiceWorker';

// ...

unregister();

Как только конфигурация Nginx будет принята.

0 голосов
/ 26 сентября 2018

возможно попробуйте этот код

server {
    # ...some code

    root /home/myuser/app/build;

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

    location /admin/ {
        alias /home/myuser/admin/public$1;
        # ...some code
    }

    ~ \.html?$ {
        expires 1d;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...