Из-за определенных ограничений мне нужно разместить мое приложение из подкаталога (например, hostname.domain.com/mysailsapp). Веб-сервер - nginx и настроен на прокси-соединения с парусами/узлами.Хостинг sails.js приложение из подкаталога
Проблема, с которой я сталкиваюсь, заключается в том, что grunt автоматически создает ссылки, чтобы включить frontend javascript/css/images/etc, но все приложения Sails ожидаются на уровне корня.
Все работает нормально, когда я подключаюсь непосредственно к парусам через порт 1337, поскольку паруса находятся в корне, но при подключении через URL-адрес подкаталога, проксированного к парусам, это не сработает.
Я не видел простой способ настроить паруса для изменения этого поведения и не хотел вручную обновлять путь сборки grunt.
Возможно, мне не хватает чего-то другого, но я хотел бы открыть это на SO, чтобы узнать, есть ли другой способ, или если я должен открыть проблему для парусов, чтобы включить такой параметр конфигурации.
Edit: Доступ через http://host.domain.com:1337/, источник HTML содержит ссылки, как это:
<!--STYLES--> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.css"> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap-theme.css"> <link rel="stylesheet" href="/bower_components/font-awesome/css/font-awesome.css"> <!--STYLES END-->
Эти ссылки работают хорошо, так как вы можете получать доступ принимал от парусов/узла. http://host.domain.com:1337/bower_components/bootstrap/dist/css/bootstrap.css - Возвращает 200
хостинг парусов приложение от Nginx прокси, http://host1.domain.com/mysailsapp/, парусов/Nginx вернуть этот HTML в браузере:
<!--STYLES--> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.css"> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap-theme.css"> <link rel="stylesheet" href="/bower_components/font-awesome/css/font-awesome.css"> <!--STYLES END-->
Затем браузер пытается загрузить статические активы с помощью : http://host1.domain.com/bower_components/bootstrap/dist/css/bootstrap.css
Эта ссылка не будет работать, так как браузер пытается загрузить статические ресурсы вне подкаталога.
Проблема заключается не в создании пути к каталогу ресурсов в nginx, а в виде парусов через grunt будет динамически вводить URL-адреса для загрузки файлов активов в HTML. Эти URL-ссылки не имеют пути к подкаталогу, поэтому браузер пытается загрузить их через http://host.domain.com/js/javascript.js. Я отредактирую свою оригинальную проблему с дополнительной информацией. – user3590543