जवाबों:
सबसे पहले आपको वेबसर्वर पर चल रहे मशीन का आईपी पता या नाम निर्धारित करना होगा। मैं मान रहा हूं कि आप वेबसर्वर को एक मैक पर चला रहे हैं क्योंकि आपने अपनी पोस्ट को टैग किया है क्योंकि macosx
निर्देश लिनक्स मशीनों के लिए समान हैं। तो, अपने मैक पर:
Terminal.app
। यह के तहत है Applications->Utilities
।ifconfig
टर्मिनल में चलाएं । यह आपको मशीन पर सभी नेटवर्क इंटरफेस को दिखाता है। उनमें से एक नेटवर्क है जो आपकी मशीन सक्रिय रूप से जुड़ा हुआ है। यदि आप मैक एक वायर्ड कनेक्शन पर हैं जो होना चाहिए en0
। पता का एक नोट बनाएं inet
- वह पता होना चाहिए जो आपकी मशीन उपयोग करती है।
nc -v 192.168.10.1 3000
।
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
।ctrl-C
एनसी सत्र से बाहर निकलने के लिए मारा ।यदि आप सर्वर के असली पते पर अपने आवेदन से कनेक्ट नहीं कर पा रहे हैं, तो इसका मतलब है कि आपका आवेदन उस पते पर नहीं सुना जा रहा है। आपको उस व्यवहार को संशोधित करने के लिए अपने एप्लिकेशन कॉन्फ़िगरेशन को बदलने के तरीके की जांच करने की आवश्यकता होगी। चूँकि मुझे नहीं पता कि आप किस एप्लिकेशन को चला रहे हैं, मैं उस पर कोई अच्छा विचार नहीं दे सकता।
अपने मैक का नाम hostname
(टर्मिनल प्रॉम्प्ट पर) का उपयोग करें और अपने URL में इसका उपयोग करें। जैसे http: //Tonys-iMac.local: 3000 /
यदि किसी कारण से बोनजोर आपके वातावरण में काम नहीं करता है, तो आईमैक या मैकबुक पर हवाई अड्डे का पता लगाएं
ipconfig getifaddr en1
या सामान्य तौर पर
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
मूल रूप से, फ़ायरवॉल सेटिंग्स से आप आने वाले कनेक्शन को स्वीकार करने के लिए एक निश्चित एप्लिकेशन (जैसे रूबी) की अनुमति दे सकते हैं। इसके अलावा बाहरी दुनिया (उदाहरण के लिए www) तक पहुंच की अनुमति देने के लिए, आपको अपने आंतरिक प्रवेश द्वार के लिए ट्रैफ़िक को आगे बढ़ाने की आवश्यकता होगी: अपनी राउटर सेटिंग्स के माध्यम से पोर्ट।
यहाँ यह कैसे करना है:
अपने_web_ip से ट्रैफ़िक को अग्रेषित करने के लिए राउटर पर (192.168.1.1 के माध्यम से) एक पोर्ट खोलें: port to an local_gateway: port
किया हुआ। अब दूरस्थ कंप्यूटर से, अपने ब्राउज़र को अपने वेब आईपी पते पर खोलें ( http://www.whatismyip.com/ के माध्यम से पाएं) + गंतव्य पोर्ट # ऊपर, जैसे 72.189.194.65:3280, यह आपके स्थानीय 192.168.1.4 से कनेक्ट होगा : 3000
नोट: मैं मैक OSX 10.7.5 पर चल रहा हूं
127.0.0.1 वह स्थानीय पता है जो हर कंप्यूटर अपने लिए रखता है। आपको यह पता लगाना होगा कि मशीन का वास्तविक आईपी पता (या होस्ट / बोनजोर नाम) क्या है। सिस्टम प्राथमिकताएं, नेटवर्क पर जाएं और मशीन का आईपी देखें, या तो ईथरनेट पोर्ट के लिए यदि आप एक केबल या हवाई अड्डे का उपयोग करते हैं यदि आप डब्ल्यूएलएएन का उपयोग करते हैं। फिर iPhone में सफारी में 3000 भाग के साथ इस पते को खोलें।
यदि एप्लिकेशन 127.0.0.1:3000 पर ही सुन रहा है, तो आप इसे दूसरे कंप्यूटर से एक्सेस नहीं कर सकते। ऐसा करने के लिए आपको IP या 0.0.0.0 (सभी उपलब्ध इंटरफेस) सुनने के लिए कॉन्फ़िगरेशन को संशोधित करना होगा। यह एक विकल्प है।
दूसरा विकल्प प्रॉक्सी का उपयोग करना है।
तीसरा विकल्प यह है कि यदि आप iphone से ssh कर सकते हैं तो आप ssh अग्रेषण का भी उपयोग कर सकते हैं।
ssh उपयोगकर्ता @ होस्ट -L 3000: 127.0.0.1: 3000
फिर अपने iPhone पर 127.0.0.1:3000 खोलें
0.0.0.0
! मैं ऐसा कैसे नहीं सोच सकता था?
क्या आपने यह कोशिश की, यह मेरे लिए काम कर रहा है (मैं इसके साथ संबद्ध नहीं हूं):
rails server -b 0.0.0.0
, फिर इसे अपने iPhone पर ब्राउज़ करें।