2013-03-05 19 views
5

Sanırım kafamın üstündeyim ve hata ayıklamak ya da buradan nereye gitmek gerektiğini anlayamıyorum? !! Herhangi bir rehberlik büyük takdir edilecektir!Raylar/Raf ... Raf :: Tersine Proxy Neden İstek Zaman Aşımı

Sorun:

  • Geliştirme Ortamı: Her şey
  • Üretim çalışır: alıyorum "İstek zaman aşımı" hata

Hedef:

"Var www.site .com/blog "yönlendirme/değiştirme tarayıcıları olmadan" blog.site.com adresinden içerik göster " er URL

Kur

  • www.site.com Rails App Heroku üzerindedir
  • blog.site.com WordPress üzerinde Yani

bilmiyorum Bluehost olduğunu Sunucu yapılandırmasına erişebilir

Yaklaşım

gem "rack-reverse-proxy", :require => "rack/reverse_proxy" 

config.ru jplewicke

Uygulama tarafından How can I use a subdirectory instead of a subdomain? yılında

Gemfile

açıklandığı gibi

Kullanım rack-reverse-proxy taş (sadece koşmak AppName önce :: Uygulama)

use Rack::ReverseProxy do 
    reverse_proxy(/^\/blog(\/.*)$/,'http://blog.site.com$1', 
    opts = {:preserve_host => true}) 
end 

config/routes.rb

match "/blog" => redirect("/blog/") 

Sonuçlar/Sorun

Benim makinede gelişiminde inşaat büyük ama üretimde koydum zaman aşımına. Sadece zaman aşımına uğramakla kalmaz, daha sonra tüm uygulama kapanır ya da bir şey olur, yani her istek www.site.com (web.site.com'u denemeden önce çalıştı) bile zaman aşımına uğrar. Yaklaşık 5-10 dakika sonra www.site.com yeniden çalışır ancak blog.site.com zaman aşımına uğrar.

Kayıtlar

2013-03-05 05: 54: 19 + 00: 00 uygulaması web.1 - - Başlangıç ​​GET 66.108.140.26/cpe-66-108 için "/ kaynak" -140-26.nyc.res.rr.com, 2013-03-05 05:54:19 +0000

2013-03-05 05: 54: 19 + 00: 00 heroku yönlendirici - - at = bilgi yöntem = GET yolu =/blog ana bilgisayarı = www.site.com fwd = "66.108.140.26/cpe-66-108-140-26.nyc.res.rr.com "dyno = web.1 sıra = 0 wait = 0ms bağlanma = 1ms hizmet = 7ms status = 301 bayt = 105

2013- 03-05 05: 54: 49 + 00: 00 heroku yönlendirici - - at = hata kodu = H12 desc = "Zaman aşımı iste" method = GET yolu =/blog/ host = www.site.com fwd = "66.108 .140.26/cpe-66-108-140-26.nyc.res.rr.com" dyno = web.1 kuyruk = 0ms = 0ms = 2ms hizmete bağlandıktan bekleyin = 30000ms status = 503 byte = 0

hata ayıklama

Ben üretimde hata ayıklamayı dönüm çalıştı...

config/ortamlar/production.rb

config.consider_all_requests_local = true 
config.log_level = :debug 

ama hiçbir şey gerçekten sadece bir jenerik,

Uygulama Hatası gösterir ... senin sayfa sunulamadı ... tekrar deneyin .... günlükleri kontrol edin.

O var o gelişimini

yapılması gerekenler konusunda herhangi bir öneri veya fikir çalışmaktadır beri tür Mantıklı olan tek şey? Teşekkürler!

use Rack::ReverseProxy do 
    reverse_proxy_options preserve_host: true 
    reverse_proxy '/blog', 'http://grav.somedomain.net/' 
end 

ama alt dizinine olmadan kalıcı yönlendirme (301) ziyaret/blog yanıt olarak geldi: O kullanarak tüm alt dizini üzerinde çalışıyordu raylar 4.

+0

'config.assets.debug = true' Rails öğesinin hata ayıklamasını açıyor, "production.rb" dosyasında hata ayıklama günlüğünü etkinleştirmek mi istiyorsunuz? Eğer öyleyse, 'config.log_level =: debug' –

+0

@stuart teşekkürler. Bu bir yazım hatasıydı. Yukarıda düzeltdim. 'config.log_level =: debug' mevcut ayardır. – haley

+0

Proxy'nin geliştirme aşamasında sizin için sayfalar yüklenmesi ne kadar sürer? Heroku'nun, kullanımda olan bu ['İstek Zaman Aşımı' hatası] (https://devcenter.heroku.com/articles/request-timeout) hakkında bazı bilgileri vardır. Bu, Heroku'nun uyguladığı ortamdaki bu sayfaların proxy edilmesinin daha uzun sürmesi olabilir mi? –

cevap

0

Sadece kurulum bu.

Sorunu çözmek için/blog/home/blog'a yeniden yazmanız ve bu takma ad bağlantısını blogunuza eklediğinizden emin olun! Bu hipotez doğruysa

require 'rack/rewrite' 
use Rack::Rewrite do 
    rewrite '/blog', '/blog/home' 
end 

Belki birisi bize söyleyebilir: blog motoru belki vekil kırmak evine düzenlenen yönlendirmeniz olduğunu sıktır.

İyi eğlenceler!

İlgili konular