Sails.js + паспорт за прокси Nginx

Я начал новый проект Sails.js и хочу реализовать паспорт-твиттер для аутентификации.

Все реализовано корректно с помощью модуля Sailes-generator-auth, но после авторизации в Твиттере меня перенаправляет на

http://localhost:9090/auth/twitter/callback

Sails работает за nginx на локальном хосте: 9090 — как я могу переопределить имя хоста?

До сих пор я пытался установить app.set('trust proxy'); в config/env/development.js

   http: {
    customMiddleware: function(app) {
      console.log('trust proxy');
      app.enable('trust proxy');
    }
  },

Я вижу вывод console.log, когда поднимаю паруса, но это не влияет на перенаправление.


person Steffen    schedule 14.10.2014    source источник


Ответы (1)


Ответ прост, но не очень хорошо документирован. Есть еще один пост, который на самом деле говорит о немного другой проблеме, но приводит к правильному ответу: Как получить текущий адрес домена в Sails.js

Если вы используете Sails v0.10.x, вы можете использовать Sails.getBaseurl(), чтобы получить полный протокол, домен и порт, с которого обслуживается ваше приложение. Начиная с Sails v0.10.0-rc6, это также проверяет паруса.config.proxyHost и паруса.config.proxyPort, которые вы можете установить вручную в одном из ваших файлов конфигурации (например, config/local.js), если ваше приложение обслуживается через прокси (например, если он развернут на Modulus.io или проксируется через сервер Nginx).

Экземпляр Sails правильно настроить на localhost:9090, но если вы хотите изменить имя хоста/порт за прокси, вам нужно настроить proxyHost и proxyPort — это можно сделать где угодно, но больше всего подходит в local.js

person Steffen    schedule 14.10.2014
comment
/* пример local.js */ module.exports = { proxyHost: 'some.domain' }; - person Keith John Hutchison; 12.10.2015