Localhost ปฏิเสธที่จะเชื่อมต่อหลังจากอัปเกรดเป็น Sierra OS


8

ผมได้ดาวน์โหลดและติดตั้งapache, php, phpmyadmin, mysqlผ่าน MacPorts ทุกอย่างทำงานได้ดีก่อนที่จะอัปเกรดเป็น macOS Sierra

หลังจากการอัพเกรดทุกครั้งที่ฉันพยายามเข้าถึง localhost ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: "ไม่สามารถเข้าถึงไซต์นี้ localhost ปฏิเสธที่จะเชื่อมต่อ"

สิ่งนี้เกิดขึ้นแม้ว่าการตั้งค่าของฉันในapache http.confไฟล์จะยังคงเหมือนเดิม

ฉันกำลังจัดเตรียมเนื้อหาของไฟล์โฮสต์ด้วย

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

คำแนะนำใด ๆ?


คุณได้ตรวจสอบแล้วว่าบริการทั้งหมดนั้นทำงานอยู่จริง ๆ หรือไม่?
samh

ถ้าฉันเรียกใช้คำสั่ง "sudo port load apache2" ฉันได้รับการตอบสนองต่อไปนี้จาก terminal "/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist: บริการโหลดแล้ว" ฉันค่อนข้างแน่ใจว่า apache กำลังทำงานอยู่
vasilisdmr

โปรดเพิ่มเนื้อหาของไฟล์ / etc / hosts ของคุณ 127.0.0.1 ทำงานหรือไม่ อาจเกี่ยวข้อง: apple.stackexchange.com/questions/252466/…
klanomath

คุณรันการทดสอบเพื่อให้แน่ใจว่าทุกอย่างเรียบร้อยหรือไม่? ฉันมีปัญหาคล้ายกันกับการติดตั้ง Apache ในสต็อกมีบางอย่างในการอัปเดตทำให้แพ็คเกจหนึ่งขึ้นอยู่กับ
dr.nixon

เพิ่งทดสอบการกำหนดค่าและผลลัพธ์มีดังนี้: "httpd: apr_sockaddr_info_get () ล้มเหลวสำหรับชื่อผู้ใช้-MacBook-Pro.local" "httpd: ไม่สามารถกำหนดชื่อโดเมนที่ผ่านการรับรองโดยสมบูรณ์ของเซิร์ฟเวอร์โดยใช้ 127.0.0.1 ตั้งค่า ' ServerName 'directive ทั่วโลกเพื่อระงับข้อความนี้ " ดังนั้นฉันจึงทำตามบทช่วยสอนนี้และ " mdshaonimran.wordpress.com/2011/10/17/ ...... " และข้อผิดพลาดก็หายไป แต่ฉันยังคงได้รับข้อความปฏิเสธเมื่อพยายามเยี่ยมชม localhost
vasilisdmr

คำตอบ:


3

ฉันแก้ไขมันโดยการแสดงความคิดเห็นในบรรทัดนี้จากhttpd.conf:

LoadModule unique_id_module modules/mod_unique_id.so

ฉันไม่คุ้นเคยกับmod_unique_idมากนัก แต่ดูเหมือนว่าไม่สำคัญสำหรับเซิร์ฟเวอร์การพัฒนาท้องถิ่นของฉัน (สถานการณ์ของคุณอาจแตกต่างออกไป)

unique_id_module

โมดูลนี้มีโทเค็นวิเศษสำหรับแต่ละคำขอที่รับประกันว่าจะไม่ซ้ำกันในคำขอ "ทั้งหมด" ภายใต้เงื่อนไขที่เฉพาะเจาะจงมาก ตัวระบุที่ไม่ซ้ำกันจะมีลักษณะเฉพาะในหลาย ๆ เครื่องในคลัสเตอร์ที่กำหนดค่าอย่างเหมาะสมของเครื่อง ตัวแปรสภาพแวดล้อม UNIQUE_ID ถูกตั้งค่าเป็นตัวระบุสำหรับแต่ละคำขอ ตัวระบุที่ไม่ซ้ำมีประโยชน์ด้วยเหตุผลหลายประการซึ่งอยู่นอกเหนือขอบเขตของเอกสารนี้


11

หลังจากอัปเดตเป็น macOS Sierra แล้ว Apache httpd จะย้ายเครื่องเก่าhttpd.confไปhttpd.conf.pre-updateและวางเครื่องใหม่ ในการใช้งาน localhost โปรดลองขั้นตอนด้านล่าง:

cd /etc/apache2/  
sudo mv httpd.conf httpd.conf-afterupdate  
sudo mv httpd.conf.pre-update httpd.conf  
sudo apachectl configtest  
sudo apachectl restart  

จากนั้นทดสอบ:

curl -I -L localhost

3
sudo apachectl configtest ให้ข้อผิดพลาดทั้งหมดแก่ฉัน! ช่วยชีวิตขอบคุณ
Joshua Kissoon

2
ขอบคุณมากสำหรับคำตอบ! อย่างไรก็ตามคุณคิดวิธีแก้ปัญหานี้อย่างไร ฉันไม่ได้รับข้อผิดพลาดใด ๆ กับ configtest (ฉันควรจะได้รับเปล่า?) และโดยสุจริตฉันไม่ทราบว่าจะเริ่มหาคำตอบด้วยตนเอง
ราหุลวินด์

คุณประหยัดเวลาได้มากขอบคุณมาก
ศิลาคำตาน

3

ผมมีปัญหาเดียวกัน. ฉันวิ่งsudo apachectl configtestและได้รับข้อความ:

AH00526: ข้อผิดพลาดทางไวยากรณ์ในบรรทัดที่ 6 ของ /private/etc/apache2/other/default-ssl.conf:

คำสั่งไม่ถูกต้อง 'SSLEngine' อาจถูกสะกดผิดหรือกำหนดโดยโมดูลที่ไม่รวมอยู่ในการกำหนดค่าเซิร์ฟเวอร์

ฉันเพิ่งเปลี่ยนชื่อไฟล์ ssl config เริ่มต้นดังนั้นจึงไม่สามารถโหลดได้อีกต่อไป Apache เริ่มต้นใหม่ในภายหลังทุกอย่างกลับมา


1

ฉันมีปัญหาเดียวกันและฉันแก้ไขความคิดเห็น mod_proxy_hckeck ใน httpd.conf

LoadModule proxy_hcheck_module libexec / apache2 / mod_proxy_hcheck.so

แก้ไข: ฉันพบใน apache.org ว่าโมดูลนี้ต้องใช้ mod_watchdog แต่โมดูลนี้มีการแสดงความคิดเห็นดังนั้นเพียงแค่แสดงความคิดเห็น mod_proxy_hcheck หรือ uncomment mod_watchdog LoadModule watchdog_module libexec / apache2 / mod_watchdog.so

หวังว่ามันจะใช้งานได้!


การแสดงความคิดเห็นออก mod_proxy_hcheck แก้ไขให้ฉันด้วย ก่อนหน้านั้น Apache จะล้มเหลวในการผูกกับพอร์ตของมันอย่างเงียบ ๆ
Otto G

1

ฉันมีปัญหาเดียวกัน โชคดีที่ฉันสามารถแก้ปัญหาโดยบังเอิญได้ หลังจากข้อผิดพลาดในการโหลด Suitcase Fusion ฉันรู้ว่าปัญหาไม่ได้เกิดจาก apache ปัญหาคือไฟล์หลัก / etc /

แทนที่ไฟล์โฮสต์

คุณสามารถดาวน์โหลดเริ่มต้นระบบปฏิบัติการ Mac OS ไฟล์โฮสต์จากhttp://cs.us.extensis.com/HostsFile/hosts.zip

แตกไฟล์โฮสต์ มันไม่ควรมีนามสกุลไฟล์ใน Finder ไปที่ไป> ไปที่โฟลเดอร์สำหรับ“ ไปที่โฟลเดอร์” ป้อน“ / ฯลฯ ” และกด Enter ลากไฟล์โฮสต์ลงในโฟลเดอร์ etc; ป้อนชื่อผู้ใช้และรหัสผ่านผู้ดูแลระบบ Mac OS เมื่อถูกถามเมื่อคุณวางไฟล์โฮสต์ในโฟลเดอร์ etc:

เปิดแอปพลิเคชั่น Terminal ป้อนคำสั่งต่อไปนี้แล้วกด Enter: sudo chmod 644 / etc / hosts ป้อนรหัสผ่าน Mac OS ของคุณแล้วกด Enter คุณอาจเห็นสัญลักษณ์แสดงหัวข้อไอคอนไอคอนหรืออะไรเลยเมื่อคุณพิมพ์รหัสผ่าน Mac OS ลงในหน้าต่าง Terminal ในเวอร์ชั่นของ Mac OS ที่คุณใช้งาน นี่เป็นปกติ.

ล้างแคช DNS Mac OS ของคุณ

ในหน้าต่าง Terminal ป้อนคำสั่งต่อไปนี้แล้วกด Enter: sudo killall -HUP mDNSResponder รีสตาร์ท Mac สาเหตุของคุณ

Suitcase Fusion ใช้ไฟล์โฮสต์เพื่อค้นหาและเชื่อมต่อกับประเภทแกนโดยใช้ที่อยู่ลูปแบ็ค (127.0.0.1 หรือ localhost) หากไฟล์โฮสต์ไม่มีอยู่หรือรายการ 127.0.0.1 ชี้ไปที่ชื่ออื่นที่ไม่ใช่ localhost คุณจะเห็นข้อความแสดงข้อผิดพลาดปรากฏขึ้นด้านบน

หาก Suitcase Fusion ไม่สามารถแก้ไข localhost เป็น 127.0.0.1 คุณจะได้รับข้อความแสดงข้อผิดพลาดแรก หากประเภทคอร์ไม่สามารถแก้ไข localhost เป็น 127.0.0.1 คุณจะได้รับข้อความแสดงข้อผิดพลาดที่สอง

หากไฟล์โฮสต์ได้รับการแก้ไขไฟล์นั้นอาจถูกลบออกเมื่ออัปเกรดเป็น Mac OS เวอร์ชันใหม่ แอปพลิเคชั่นบุคคลที่สามหรือยูทิลิตี้เครือข่ายอาจเปลี่ยนรายการ localhost ไม่ถูกต้องเช่นกัน สำหรับข้อมูลเพิ่มเติมดูวิธีแก้ไขไฟล์โฮสต์ใน Mac OS X พร้อมเทอร์มินัล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.