2010-12-15 3 views
2

Rails3 с пассажирским и nginx является удивительным !!Facebook приложение с рельсами/автономный автономный/nginx ... неправильный обратный вызов!

Я создаю приложение для подключения Facebook, использую omniauth для аутентификации.

и я обслуживаю свое приложение, используя Passenger on Nginx. по некоторым причинам я хочу использовать автономный режим для запуска приложения.

Он отлично работает, и когда я иду /auth/facebook Он отправляется в facebook normaly и запрашивает разрешение. Но когда он переходит к URL-адресу обратного вызова, URL-адрес является неожиданным!

http://xyz.com:12148/auth/facebook/callback 

Как понять это, чтобы перенаправить на URL-адрес без номера порта .. чтобы обработка прошла успешно!

Nginx конфигурации

upstream xyz_upstream { 
    server unix:/tmp/xyz.socket; 
} 
server { 
    listen 80; 
    server_name xyz.com; 
    root /home/deploy/apps/rails3/xyz/public; 
    location/{ 
     proxy_pass http://xyz_upstream; 
     proxy_set_header Host $host; 
    } 
} 

приложение на хорошо работает, но это моя единственная проблема!

ответ

1

Использование следующих по ссылке размещенной выше работает

(в конфигурации/инициализаторов/omniauth.rb)

OmniAuth.config.full_host = "http://practicallygreen.com" 

Способ, которым я работаю, заключается в том, что я устанавливаю глобальную переменную DOMAIN в каждой среде. Он позволяет работать во всех средах, чтобы он не прерывался и не менялся каждый раз, когда меняю среду. Мой пример ниже

(в конфигурационном/инициализаторах/omniauth.rb)

OmniAuth.config.full_host = DOMAIN 

(в конфигурации/среды/production.rb)

DOMAIN = "http://xyz.com" 

(в конфигурации/средах/постановке. rb)

DOMAIN = "http://staging.xyz.com" 
Смежные вопросы