2013-05-30 6 views
24

पर नहीं, मेरे पास विंडोज 7 32 बिट ओएस पर रूबी (साइनेट्रा का उपयोग कर) webservice है। पोर्ट 4567. इसकी पर इसका चल ठीक है जब मैं स्थानीय होस्ट का उपयोग काम कर रहे: 4567 लेकिन जब मैं की जगह मेरी मशीन की स्थानीय आईपी के साथ स्थानीय होस्ट का कहना है, 192.168.103.99:4567 यह काम नहीं करता है, और कनेक्ट करने के लिए विफल रहता है। मैंने फ़ायरवॉल, बाय-पास प्रॉक्सी और अपवाद के लिए पोर्ट 4567 जोड़ा है, अभी भी कोई भाग्य नहीं है।रूबी सिनात्रा वेबसाइट सर्विसहोस्ट पर चल रही है: 4567 लेकिन आईपी

समस्या क्या हो सकती है?

+0

चेक स्थानीय होस्ट IPV4 स्थानीय होस्ट 127.0.0.1 और नहीं एक IPv6 स्थानीय होस्ट करने के लिए बाध्य है। इसके अलावा, आप किस वेब सर्वर का उपयोग कर रहे हैं? Mongrel, पतला, Webrick, यात्री? – mcfinnigan

+0

इसे कैसे जांचें? इसका वेबब्रिक 1.3.1 – foobar

+2

पिंग लोकहोस्ट और देखें कि आईपी पता किस प्रकार हल किया गया है। एक विशिष्ट आईपी पर हथियार बांधने के लिए, इस दस्तावेज़ को देखें: http://smyck.net/2007/03/11/how-to-bind-webrick-to-any-ip-address/ – mcfinnigan

उत्तर

42

@SudarshanShubakar की टिप्पणी से सेट करने के लिए सर्वर होस्ट नाम या IP पता उपयोग sinatra settingबाँध मेरे लिए काम किया गया था।

ruby app.rb -o 0.0.0.0

10

तरह

set :bind, '192.168.103.99' 
+0

धन्यवाद !! यह वास्तव में सहायक था! – Andres

1

इस

require 'rubygems' 
require 'sinatra' 
require "dbi" 

set :bind, '192.168.200.185' 
get '/' do 
    'hello word' 
end 
+0

यह काम करता है, लेकिन उत्तर के लिए कुछ स्पष्टीकरण की आवश्यकता है। – Pred

14

का उपयोग करते समय निर्मित run! if app_file == $0 जांच के माध्यम से सर्वर, Sinatra's doc बताते हैं कि set :bind, '0.0.0.0'localhost परत बाहर इंटरफेस उपलब्ध बनाने के लिए आवश्यक है।

कस्टम आईपी पता या रिवर्स डीएनएस (mydomain.com ...) का उपयोग करने की आवश्यकता नहीं है: '0.0.0.0' कानूनी मान expected by Sinatra है, जिसका सही अर्थ होगा।

इसलिए, एक न्यूनतम, आत्म निहित सिनात्रा आवेदन सभी इंटरफ़ेस पर उपलब्ध कराया, न केवल localhost, होगा:

require 'sinatra/base' 

class MyApp < Sinatra::Base 
    set :bind, '0.0.0.0' 

    get '/' do 
    'Hello World' 
    end 

    run! if app_file == $0 
end 
संबंधित मुद्दे