ไม่สามารถแก้ไข localhost บน Mac OS X Server


10

ฉันมีเซิร์ฟเวอร์ที่ใช้ OS X Server 10.5 และไม่สามารถแก้ไข localhost เป็น 127.0.0.1

เมื่อฉันลอง ping นี่คือสิ่งที่เกิดขึ้น:

> ping localhost
ping: ไม่สามารถแก้ไข localhost: โฮสต์ที่ไม่รู้จัก

SSH และเว็บเบราว์เซอร์ได้รับผลลัพธ์ที่คล้ายกัน (โฮสต์ uknown) ถ้าฉันลองใช้ 127.0.0.1 หรือที่อยู่ ip ที่กำหนดบน LAN ทำงานทั้งหมดข้างต้น

นี่คือเนื้อหาของไฟล์ / etc / hosts ของฉัน:

> cat / etc / hosts
##
# ฐานข้อมูลโฮสต์
#
# localhost ใช้เพื่อกำหนดค่าส่วนต่อประสานย้อนกลับ
# เมื่อระบบกำลังบู๊ต ห้ามเปลี่ยนรายการนี้
##
127.0.0.1 localhost
255.255.255.255 Broadcasthost
:: 1 localhost 
fe80 :: 1% lo0 localhost

ฉันไม่มีบริการ DNS ในเครื่องที่ทำงานอยู่

ไม่มีใครมีความคิดว่าทำไมสิ่งนี้อาจเกิดขึ้นหรือฉันจะแก้ไขได้อย่างไร


1
เปลี่ยนชื่อ / etc / hosts เป็น /etc/hosts.justworks
ta.speot.is

การตั้งค่า DNS ของคุณในกล่องเซิร์ฟเวอร์คืออะไร คุณใช้บริการ DNS อยู่หรือไม่
Shaggy Frog

คำตอบ:


6

ฉันมีปัญหาเดียวกันกับ Mountain Lion (10.8.2) ฉันแก้ไขได้โดยปิดการใช้งาน "โหมดซ่อนตัว" ในการรักษาความปลอดภัยและความเป็นส่วนตัว -> ไฟร์วอลล์ -> ตัวเลือกไฟร์วอลล์


แก้ไขปัญหาด้วย El Capitan 10.11
suspectus

3

นี่คืออาจจะไม่เกี่ยวข้องกับคำถามเดิมของคุณ แต่มีปัญหาที่จะมีผลต่อการค้นหา DNS ใน Mac OS X Lion เฉพาะอีกlocalhostหรือรายการอื่น ๆ /etc/hostsที่คุณอาจจะมีใน

เห็นได้ชัดว่า/etc/hostsไฟล์ไม่รองรับหลายโดเมนต่อบรรทัดในไฟล์อีกต่อไปดังนั้นทุกระเบียนต้องมีบรรทัดของตนเอง:

127.0.0.1 localhost
127.0.0.1 some.site.local
127.0.0.1 some.site.dev

พบนี้ผ่านทางบล็อกของจัสติน Carmony ของ เขาอธิบายพฤติกรรม "น่าสนใจ" อื่น ๆ ของคุณถ้าคุณใช้/etc/hostsดังนั้นให้อ่านถ้าคุณยังมีปัญหาอยู่


1

ฉันรู้ว่ามันช้าไปหน่อย แต่ในกรณีของฉันการเปลี่ยน line endings เป็น UNIX แทนที่แท็บด้วยช่องว่างและบันทึกไฟล์เป็น UTF-8 ทำให้มันทำงานบน Mountain Lion (10.8.2)

หวังว่างานนี้สำหรับคนอื่น


1

การเข้ารหัสอาจเป็นปัญหาได้ฉันแก้ไข / etc / hosts โดยใช้ Sublime Text ซึ่งทำให้ฉันแก้ไขปัญหาโดยใช้ vi แก้ไขปัญหา ตรวจสอบให้แน่ใจว่าcatส่งออกเนื้อหา


เรื่องนี้เกิดขึ้นกับฉัน! ขอบคุณฉันกำลังจะบ้า
Asgaroth

1

ในคอมพิวเตอร์ของฉัน (อาการเดียวกัน) /etc/hostsไฟล์ของฉันถูก munged ให้ใช้ปลายสาย Macintosh (CR— 0x13) แทนที่จะใช้ปลายสาย Unix (LF— 0x10) ไฟล์ถูกต้อง

ทางออกของฉันคือ:

brew install dos2unix
sudo dos2unix -c mac /etc/hosts

0

ผมมีปัญหาเดียวกัน. ฉันเพิ่งตั้งแล็ปท็อป mac เครื่องใหม่และมันใช้งานได้จนกว่าฉันจะย้ายจากเครื่องเก่า ตอนนี้ ping localhost ไม่สามารถแก้ไขได้ ต้องเป็นการตั้งค่าบางอย่างที่ฉันเปลี่ยนแปลงที่ไหนสักแห่ง แต่ฉันไม่รู้ว่า ...

ฉันค้นพบว่า "ping localhost" โรงงาน การต่อท้ายจุดท้ายหมายถึงการข้ามการค้นหาชื่อ "localhost" ในโดเมนการค้นหาอื่น เยี่ยมมาก แต่ฉันยังไม่เข้าใจว่าทำไมรายการ / etc / hosts ไม่ทำงาน ...

แก้ไข: แก้ไขแล้ว

bash-3.2# dscl . read /Hosts/localhost    
AppleMetaNodeLocation: /Local/Default
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
ping: cannot resolve localhost: Unknown host
bash-3.2# dscl . append /Hosts/localhost IPAddress 127.0.0.1
bash-3.2# dscl . read /Hosts/localhost
AppleMetaNodeLocation: /Local/Default
IPAddress: 127.0.0.1
RecordName: localhost
RecordType: dsRecTypeStandard:Hosts
bash-3.2# ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.083 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.140 ms

voila!

อย่างใดระเบียนบริการไดเรกทอรีไม่ซิงค์กับไฟล์ / etc / hosts และเมื่อไม่มีที่อยู่ IP ในการกำหนดค่าบริการไดเรกทอรีพยายามแก้ไขชื่อจากนั้นไปที่ mDNSR การตอบกลับซึ่งถาม DNS


0

ในที่สุดมันก็เริ่มทำงานอีกครั้ง ฉันพบการกำหนดค่า DNS นอกรีต (และไม่จำเป็น) บางอย่างบนเซิร์ฟเวอร์และเปลี่ยนเป็นสิ่งที่ควรจะเป็นและอาจแก้ไขปัญหาได้หรือไม่ ฉันไม่แน่ใจเพราะฉันไม่ได้พยายามแก้ไขปัญหา localhost ในเวลานั้นดังนั้นฉันจึงไม่ได้ทดสอบ localhost ก่อนและหลัง


0

ฉันแก้ไข / etc / hosts ด้วย Sublime Text และมีปัญหาเดียวกันให้ลองแก้ไขและบันทึกไฟล์ / etc / hosts ของคุณด้วย vi หรือ nano ซึ่งแก้ไขให้ฉัน ...


0

ให้แน่ใจว่าได้อ่านบันทึกข้อผิดพลาดของ Apache เนื่องจากมีข้อผิดพลาดเกิดขึ้นในคอนโซลเมื่อเริ่มบริการ อาจมีปัญหาแม้ว่าไวยากรณ์จะใช้ได้

โดยค่าเริ่มต้นพวกเขาควรจะเก็บไว้ใน / var / log / apache2 / และไฟล์บันทึกคือ error.log

ฉันมีปัญหาเดียวกันอย่างแน่นอนว่าโฮสต์สามารถแก้ไขได้และ apache ไม่ได้บอกปัญหาใด ๆ ในคอนโซล "ปัญหา" ง่าย ๆ คือ error.log ที่กำหนด vhost-configuration ของฉันไม่สามารถสร้างขึ้นได้หลังจากเปลี่ยนไดร์ฟภายนอก


-1

ลบไฟล์โฮสต์ของคุณและดูว่าเกิดอะไรขึ้น รีบูตโดยไม่ต้องเชื่อมต่อกับเครือข่ายใด ๆ


ฉันเหนื่อยกับการลบ / etc / hosts เพราะมันเหมือนกับไฟล์ / etc / hosts ใน mac อื่น ๆ ของฉัน (และมันสามารถแก้ไข localhost ได้) นี่คือเซิร์ฟเวอร์การผลิตของเรา ... ฉันได้ลองรีบูตเครื่องโดยไม่ต้องเชื่อมต่อกับเครือข่ายใด ๆ แต่ก็ยังไม่สามารถแก้ไข localhost ได้
iainbeeston

ใน mac เครื่องอื่น (ที่ไม่มีปัญหานี้) ฉันลองเปลี่ยนชื่อ / etc / hosts เป็นอย่างอื่นแล้วรีบูท มันไม่ได้ทำให้เห็นความแตกต่าง แต่ os x ไม่ได้แทนที่ / etc / hosts ด้วยสำเนาใหม่ ดังนั้นอีกครั้งฉันเหนื่อยที่จะลบไฟล์ยกเว้นว่าระบบปฏิบัติการจะสร้างมันขึ้นมาใหม่
iainbeeston

หากนี่เป็นเซิร์ฟเวอร์ที่ใช้งานจริงคุณควรมีข้อมูลสำรองล่าสุด กู้คืนจากการสำรองข้อมูล
Josh K

ฉันกลัวว่ามันจะไม่ใช่ปัญหาเมื่อเร็ว ๆ นี้ - มันเป็นอย่างนั้นมานานกว่าหนึ่งปี (ตราบใดที่ฉันยังทำงานอยู่) ดังนั้นการกู้คืนจากการสำรองข้อมูลจึงเป็นเรื่องยาก ไม่ว่าในกรณีใดฉันก็หวังว่าจะพบสาเหตุของปัญหาไม่ใช่เพียงแค่ทำให้ทุกอย่างดูหมิ่นด้วยความหวังว่ามันจะเริ่มทำงานอีกครั้ง!
iainbeeston

คุณไม่ได้ "blat" ทุกอย่างมันเป็นขั้นตอนมาตรฐานโดยเฉพาะกับเซิร์ฟเวอร์ หากคุณสังเกตเห็นปัญหาและไม่สามารถหาแหล่งที่มาได้วิธีที่ง่ายและใช้กันมากที่สุดในการแก้ไขปัญหาคือการกู้คืนจากข้อมูลสำรอง แรกสิ่งที่ผมจะทำในงานจะได้รับการแก้ไขได้ การปล่อยให้ปัญหาแย่ลงไม่ได้ทำให้มันหายไป
Josh K
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.