2014-10-14 2 views
2

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

Все правильно реализован с помощью модуля парусов-генератор-аутентификации, но после авторизации Twitter я попадаю на

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

парусов работает за Nginx на локальном хосте: 9090 - как я могу переопределить имя хоста?

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

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

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

ответ

2

Ответ прост, но не очень хорошо документирован. Там еще один пост, который на самом деле говорит о slighty другой проблемы, но приводит к правильному ответу: How to get current domain address in sails.js

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

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

+0

/* например local.js */ module.exports = { proxyHost: 'some.domain' }; –