2011-08-12 15 views
8

पर मेरे पास एक सरल रैक ऐप हैरोकू पर होस्ट किया गया है। config.ru:रैक :: HTTP के लिए HTTP मूल लेख Heroku

use Rack::Static, 
    :urls => ["/stylesheets", "/images", "/javascripts"], 
    :root => "public" 

run lambda { |env| 
    [ 
    200, 
    { 
     'Content-Type' => 'text/html', 
     'Cache-Control' => 'public, max-age=86400' 
    }, 
    File.open('public/index.html', File::RDONLY) 
    ] 
} 

मैं इसे HTTP मूलभूत एथ कैसे जोड़ सकता हूं? बोनस अंक अगर यह केवल उत्पादन वातावरण में काम करता है।

धन्यवाद

उत्तर

14
use Rack::Static, 
    :urls => ["/stylesheets", "/images", "/javascripts"], 
    :root => "public" 

#SOLUTION: 
use Rack::Auth::Basic, "Restricted Area" do |username, password| 
    [username, password] == ['admin', 'admin'] 
end 

run lambda { |env| 
    [ 
    200, 
    { 
     'Content-Type' => 'text/html', 
     'Cache-Control' => 'public, max-age=86400' 
    }, 
    File.open('public/index.html', File::RDONLY) 
    ] 
} 
5

आप छवियों, शैली और मूल प्रमाणीकरण के पीछे javascripts बचाना चाहते हैं, तो आप :: प्रमाणीकरण :: बेसिक पहली रैक रखना होगा:

use Rack::Auth::Basic, "Restricted Area" do |username, password| 
    [username, password] == ['admin', 'admin'] 
end 

use Rack::Static, 
    :urls => ["/stylesheets", "/images", "/javascripts"], 
    :root => "public" 

run lambda { |env| 
    [ 
    200, 
    { 
     'Content-Type' => 'text/html', 
     'Cache-Control' => 'public, max-age=86400' 
    }, 
    File.open('public/index.html', File::RDONLY) 
    ] 
} 
संबंधित मुद्दे