2012-05-23 9 views
132

क्या मैं एक डोमेन नाम 127.0.0.1 जैसे किसी डोमेन नाम और पर एक आईपी पता मैप कर सकता हूं?क्या मैं मेजबाननाम * और * पोर्ट/etc/hosts के साथ एक पोर्ट मैप कर सकता हूं?

उदाहरण के लिए, मैं मैप करने के लिए 127.0.0.1api.example.com:8000

के लिए धन्यवाद करना चाहते हैं!

+5

आप/etc/hosts में पोर्ट संख्या मैप नहीं कर सकते हैं। इसके बजाय आप '127.0.0.1 api.mydomain.com' के रूप में परिभाषित कर सकते हैं और इसे 'api.mydomain.com: 8080' –

+0

जैसे ब्राउज़र में एक्सेस कर सकते हैं, मैंने कहीं पढ़ा है कि डीएनएस इसका समर्थन करता है। आपके पास एक रिकॉर्ड हो सकता है जो www.example.com http पर पोर्ट 80 पर है और यह भी एक रिकॉर्ड है कि पता 127.0.0.1 है, यह भी कहा गया है कि यह अच्छी तरह से समर्थित नहीं था। इसके बाद बहुत कुछ नहीं कहा। –

उत्तर

127

नहीं, यह संभव नहीं है। पोर्ट होस्टनाम का हिस्सा नहीं है, इसलिए इसका hosts -file में कोई अर्थ नहीं है।

97

यदि आपको वास्तव में ऐसा करने की आवश्यकता है, तो रिवर्स प्रॉक्सी का उपयोग करें।

उदाहरण के लिए

, nginx के रूप में रिवर्स प्रॉक्सी

server { 
    listen  api.mydomain.com:80; 
    server_name api.mydomain.com; 
    location/{ 
    proxy_pass http://127.0.0.1:8000; 
    } 
} 
+3

मुझे लगता है कि proxy_pass की रेखा इस तरह दिखनी चाहिए: 'proxy_pass http: //127.0.0.1: 8000; मुझे nginx 1.4.3 पर" अवैध URL उपसर्ग "मिला। – Nobu

+0

इस अद्भुत टिप के लिए धन्यवाद! अधिकांश सर्वरों के लिए सरल समाधान। – micahscopes

+0

मैं इस चाल का उपयोग रिमोट मशीन के बंदरगाहों को मैप करने के लिए कर रहा हूं (उदा। Http://cloud.app:80 जबकि वास्तविक पोर्ट 8080 है)। क्लस्टर के संगम नोड्स का परीक्षण करने के लिए बहुत उपयोगी है लेकिन उन्हें उसी आधार URL पर एक्सेस करना है। धन्यवाद! –

संबंधित मुद्दे

 संबंधित मुद्दे