Мой прототип находится на https://www.schandillia.com. Репо можно найти на GitHub на https://github.com/amitschandillia/proost.
У меня есть куча маршрутов, определенных в моем файле конфигурации Nginx следующим образом:
location ^~ /favicon {
proxy_pass http://127.0.0.1:3000/static/brand/favicons/favicon;
include /etc/nginx/sites-available/snippets/static-config.conf; # importing static assets configurations
}
Полный код conf доступен для просмотра на https://github.com/amitschandillia/proost/blob/master/.help_docs/configs/nginx.conf. Я использую NextJS в своем проекте, и у меня есть статический маршрут, определенный в моем server.js (репо: https://github.com/amitschandillia/proost/blob/master/web/server/server.js) как показано ниже:
server.use ('/ _ s', express.static (path.join (__dirname, '..', '.build', 'static')));
Однако, когда я пытаюсь получить доступ к любому ресурсу, расположенному в этой папке, я получаю 404 . Я имею в виду активы, НЕ указанные явно в файле конфигурации Nginx. Разве они не должны быть доступны независимо от того, определены ли они на уровне прокси? Например, у меня есть файл Raleway-Regular.ttf , расположенный по адресу /static/fonts/
. Я ожидал, что он будет доступен через https://www.schandillia.com/_s/fonts/Raleway-Regular.ttf,, но все, что я получаю, это 404 .
В чем может быть причина?
Кроме того, следующее определение favicon, похоже, не влияет на доступность favicon.ico для браузера:
server.use (favicon (path.join (__dirname, '..', 'static', 'images', 'icons', 'favicon.ico')));
Файл favicon находится по адресу /static/images/icons/
. Фавикон отображается, когда вы посещаете https://www.schandillia.com,, но это то, что определено в моей конфигурации Nginx, а не то, что определено в server.js .