หากคุณกำลังเรียกใช้ XAMPP หรือ WAMP หรือเว็บเซิร์ฟเวอร์อื่น ๆ บนเครื่องคอมพิวเตอร์ของคุณ และคุณต้องเผชิญกับ “Localhost ปฏิเสธที่จะเชื่อมต่อ ” ข้อความแสดงข้อผิดพลาด แสดงว่าอาจมีบางอย่างผิดปกติกับการกำหนดค่าของคุณ ซึ่งอาจรวมถึงสถานการณ์ที่ localhost ของคุณไม่สอดคล้องกับ 127.0.0.1 อย่างถูกต้อง หรือเมื่อคุณมีสิทธิ์ไม่เพียงพอในการเข้าถึงไฟล์ Localhost หรือ 127.0.0.1 คือที่อยู่ IP ของเว็บเซิร์ฟเวอร์ที่ทำงานบนคอมพิวเตอร์ของคุณ ไม่ใช่บนเว็บ และคุณสามารถเข้าถึงได้แม้ว่าคุณจะไม่มีการเชื่อมต่ออินเทอร์เน็ต
Localhost สอดคล้องกับเว็บเซิร์ฟเวอร์ที่ทำงานบนคอมพิวเตอร์ที่คุณพยายามเข้าถึง การทดสอบแอพ การเปลี่ยนแปลงแอพปัจจุบัน และการพัฒนาอื่นๆ บนเครื่องคอมพิวเตอร์ของคุณนั้นดีกว่าการทำบนเซิร์ฟเวอร์ออนไลน์หรือเซิร์ฟเวอร์ที่ใช้งานจริง ด้วยวิธีนี้ คุณสามารถทดสอบจุดบกพร่องและกำจัดโดยไม่จำเป็นต้องทำให้แอปพลิเคชันที่ทำงานของคุณทำงานบนเว็บเซิร์ฟเวอร์ออนไลน์หรือในสภาพแวดล้อมที่ใช้งานจริง คุณจะสามารถทดสอบแอปพลิเคชันเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้องและจะไม่ทำให้เกิดการหยุดทำงานหรือปัญหาอื่น ๆ เมื่อใช้งานจริงในสภาพแวดล้อมที่ใช้งานจริง มีหลายกรณีที่คุณต้องการพัฒนาแอปพลิเคชันในตัวแก้ไข เช่น Visual Studio / Visual Studio Code ของ Microsoft ซึ่งคุณสามารถใช้เพื่อพัฒนาแอป Android ได้ และคุณต้องเผชิญกับข้อผิดพลาดนี้เมื่อคุณต้องการเชื่อมต่อโครงการของคุณกับเว็บเซิร์ฟเวอร์ที่ทำงานบน เครื่องหรือแพ็คเกจเว็บเซิร์ฟเวอร์ที่จัดเตรียมโดยตัวแก้ไขเอง
มีสาเหตุหลายประการที่ทำให้เกิดข้อผิดพลาดนี้ และสาเหตุที่แท้จริงของข้อผิดพลาดนี้ขึ้นอยู่กับสาเหตุที่แท้จริง ดังนั้น ก่อนที่เราจะเริ่มต้นแสดงวิธีแก้ปัญหานี้ ให้เราพิจารณาถึงสาเหตุที่เป็นไปได้ของข้อผิดพลาดก่อน เพื่อสร้างความเข้าใจในปัญหาให้ดียิ่งขึ้น
- Localhost ไม่ตรงกับ 127.0.0.1 — อาจมีบางกรณีที่ localhost บนเครื่องของคุณไม่สอดคล้องกับ 127.0.0.1 อย่างถูกต้อง หากเป็นสาเหตุนี้ คุณจะไม่สามารถเข้าถึงเว็บเซิร์ฟเวอร์ในพื้นที่ของคุณได้โดยการพิมพ์ localhost ในเว็บเบราว์เซอร์หรือโดยการ ping localhost จากพรอมต์คำสั่ง
- การใช้ WSL บน Windows เพื่อเรียกใช้เว็บเซิร์ฟเวอร์ — บางครั้ง บริการ LxssManager บน Windows เป็นตัวการหากคุณกำลังเรียกใช้เว็บเซิร์ฟเวอร์ภายในการกระจาย linux บนระบบย่อยของ windows สำหรับ linux
- พอร์ต 80 ถูกใช้โดยแอปพลิเคชันอื่นบนคอมพิวเตอร์ของคุณ — ในบางกรณี ข้อผิดพลาดนี้อาจเกิดขึ้นได้หากพอร์ต 80 บนคอมพิวเตอร์ของคุณถูกใช้โดยแอปพลิเคชันอื่นบนคอมพิวเตอร์ของคุณ Skype เคยใช้พอร์ต 80 ในสมัยก่อน และคุณจะไม่สามารถเรียกใช้เซิร์ฟเวอร์ apache บน WAMP หรือ XAMPP ในขณะที่ใช้งาน Skype พร้อมกันบนคอมพิวเตอร์ที่ใช้ Windows ได้เช่นกัน
- การเข้าถึงเว็บเซิร์ฟเวอร์ของคุณจากพอร์ตที่ไม่ถูกต้อง — อาจเป็นไปได้ว่าเว็บเซิร์ฟเวอร์ของคุณได้รับการกำหนดค่าให้ใช้พอร์ตอื่นแทนพอร์ตเริ่มต้น 80 และคุณกำลังพยายามเข้าถึงโดยพิมพ์ localhost ในเบราว์เซอร์ของคุณซึ่งมีค่าเริ่มต้นเป็น localhost:80 เช่นพอร์ต 80 หากเป็นกรณีนี้ คุณจะได้รับข้อความแสดงข้อผิดพลาดนี้
- การอนุญาตไม่เพียงพอ — ในบางสถานการณ์ ข้อผิดพลาดนี้อาจเกิดขึ้นได้หากคุณพยายามเข้าถึงไฟล์หรือไดเรกทอรีในเว็บเซิร์ฟเวอร์ภายในซึ่งผู้ใช้ของคุณไม่ได้รับอนุญาตให้เข้าถึง
ตอนนี้เราได้บอกคุณแล้วเกี่ยวกับสาเหตุบางประการที่ทำให้เกิดข้อผิดพลาดนี้ในคอมพิวเตอร์ Windows ตอนนี้ มาดูกันว่าคุณจะทำอะไรได้บ้างเพื่อแก้ไขหรือกำจัดข้อผิดพลาดนี้และดำเนินการพัฒนาเว็บต่อไป
เปลี่ยนพอร์ตเซิร์ฟเวอร์เว็บ Apache ใน XAMPP หรือ WAMP
ก่อนอื่น วิธีทั่วไปในการแก้ไขข้อผิดพลาดนี้คือการเปลี่ยนพอร์ตของเว็บเซิร์ฟเวอร์ apache หากคุณใช้ XAMPP หรือ WAMP บน windows โดยปกติ เว็บแอปพลิเคชันอื่นๆ ที่คุณอาจใช้งานบนคอมพิวเตอร์ของคุณสามารถรับพอร์ต 80 และถูกบล็อก/ไม่สามารถเข้าถึงแอปพลิเคชันเช่น apache ดังนั้นแม้ว่า Apache จะทำงานอยู่ แต่ก็ไม่สามารถดึงหน้าเว็บบนพอร์ตนั้นได้
เปลี่ยนพอร์ตของ Apache ใน XAMPP
ในการเปลี่ยนพอร์ตที่กำลังทำงานของเว็บเซิร์ฟเวอร์ apache ใน XAMPP ให้ทำดังต่อไปนี้:
- ก่อนอื่น เริ่ม XAMPP จาก เมนูเริ่ม .
- จากนั้น ในส่วนซิสเต็มเทรย์ของทาสก์บาร์ของคุณ คุณจะเห็นไอคอน XAMPP ให้ดับเบิลคลิกที่ไอคอนนั้น
- ตอนนี้คุณจะเห็น XAMPP แผงควบคุม หน้าต่าง. ในหน้าต่างนั้น คุณจะเห็นรายการบริการที่กำลังทำงานอยู่ เช่น apache, mysql เป็นต้น
- ข้างชื่อบริการจะมีปุ่มชื่อว่า “หยุด ” คลิกที่ Stop หน้า apache บริการ.
- ถัดไปเปิด windows explorer และไปที่ C:\xampp\apache\conf ไดเร็กทอรี ที่นั่น ให้มองหาไฟล์ชื่อ httpd.conf .
- เปิดด้วย Notepad หรือโปรแกรมแก้ไขอื่นๆ ที่คุณต้องการ ภายในไฟล์ ให้ค้นหาสองบรรทัดนี้
Listen 80 ServerName localhost:80
- เมื่อคุณพบแล้ว ให้แทนที่ด้วยสิ่งต่อไปนี้:
Listen 8080 ServerName localhost:8080
- ตอนนี้ บันทึกไฟล์ มันจะขอสิทธิ์ผู้ดูแลระบบเมื่อคุณบันทึกไฟล์ คลิกที่ ใช่ เมื่อกล่องโต้ตอบปรากฏขึ้น
- เปิดแผงควบคุม XAMPP อีกครั้ง แล้วเริ่มเว็บเซิร์ฟเวอร์ apache
- หากข้อผิดพลาดเกิดจากหมายเลขพอร์ตที่ขัดแย้งกัน การทำเช่นนี้จะช่วยแก้ปัญหาได้
เปลี่ยนหมายเลขพอร์ตของเว็บเซิร์ฟเวอร์ Apache ใน WAMP
หากต้องการเปลี่ยนหมายเลขพอร์ตของเว็บเซิร์ฟเวอร์ apache ใน wamp ก่อนอื่นคุณต้องปิด WAMP
- ในการทำเช่นนั้น ให้เปิดตัวจัดการงานโดยคลิกขวาที่ทาสก์บาร์และเลือกตัวจัดการงาน จากเมนูที่ปรากฏ
- เมื่อเปิด Task Manager แล้ว ให้ดูว่า WAMP กำลังทำงานอยู่หรือไม่ หากใช่ เพียงคลิกที่ “สิ้นสุดงาน ” เพื่อหยุดพวกมัน
- ตอนนี้ เปิด Windows Explorer โดยดับเบิลคลิกที่ไอคอน My Computer บนเดสก์ท็อปของคุณ ไปที่ C:\wamp\Apache2\conf โฟลเดอร์และเปิดไฟล์ชื่อ httpd.conf ด้วยแผ่นจดบันทึกหรือโปรแกรมแก้ไขอื่นๆ ที่คุณเลือก
- หลังจากนั้น ค้นหาสองบรรทัดนี้ในไฟล์นั้น:
Listen 80 ServerName localhost:80
- หลังจากค้นหาบรรทัดเหล่านี้แล้ว ให้แทนที่ด้วยบรรทัดต่อไปนี้แทน:
Listen 8080 ServerName localhost:8080
- แค่นั้นแหละ บันทึกไฟล์ และเปิด WAMP อีกครั้งและดูว่าคุณยังพบข้อผิดพลาดนี้หรือไม่
เข้าถึง Localhost โดยใช้ 127.0.0.1
ดังที่เราได้กล่าวไว้ก่อนหน้านี้ สาเหตุหนึ่งที่ข้อความแสดงข้อผิดพลาดอาจปรากฏขึ้นคือ ในบางกรณี localhost ไม่สอดคล้องกับ 127.0.0.1 ซึ่งเป็นที่อยู่ของเว็บเซิร์ฟเวอร์ในพื้นที่ของคุณ
ในการแก้ไขปัญหานั้น ให้เริ่มต้นเว็บเซิร์ฟเวอร์โดยเปิด XAMPP หรือ WAMP แล้วไปที่เบราว์เซอร์ของคุณแล้วพิมพ์ 127.0.0.1 แล้วกด Enter . หากคุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์โดยใช้สิ่งนี้ แสดงว่า localhost ไม่ได้ชี้ไปที่ IP นี้ และคุณจะต้องเข้าถึงโปรเจ็กต์/ไฟล์ใดๆ บนเว็บเซิร์ฟเวอร์ของคุณโดยพิมพ์ 127.0.0.1/filename แทน localhost/filename .
เริ่มบริการ LXSSManager ใหม่ (สำหรับเว็บเซิร์ฟเวอร์ที่ทำงานบน WSL)
หากคุณกำลังใช้ระบบย่อย Windows สำหรับ Linux บนคอมพิวเตอร์ของคุณเพื่อเรียกใช้เว็บเซิร์ฟเวอร์ อย่างที่บางคนอาจทำเพื่อพัฒนาแอปพลิเคชัน Nodejs เป็นต้น ในขณะที่พบข้อผิดพลาดนี้ สิ่งที่ง่ายที่สุดที่คุณสามารถทำได้คือเริ่มบริการ LXSSManager ใหม่ โดยทำตามคำแนะนำด้านล่าง:
- ก่อนอื่น เปิด วิ่ง โต้ตอบโดยกด แป้น Windows + R ทางลัดบนแป้นพิมพ์ของคุณ
- เมื่อกล่องโต้ตอบเรียกใช้เปิดขึ้น ให้พิมพ์ services.msc แล้วกด Enter .
- การดำเนินการนี้จะเปิดแอป Windows Servers ซึ่งคุณจะเห็นรายการบริการทั้งหมดที่มีอยู่ในคอมพิวเตอร์ของคุณ
- ในหน้าต่าง Services ให้ค้นหาบริการที่ชื่อ LxssManager .
- คลิกขวาและเลือก รีสตาร์ท จากเมนูแบบเลื่อนลง หรือคุณสามารถดับเบิลคลิกเพื่อเปิด คุณสมบัติ หน้าต่างแล้วหยุดมัน สุดท้าย คลิก เริ่ม อีกครั้งเพื่อให้การรีสตาร์ทเสร็จสมบูรณ์
- เมื่อเสร็จแล้ว ให้ดูเว็บเซิร์ฟเวอร์อีกครั้ง หวังว่าตอนนี้มันจะใช้งานได้หากเกิดจากปัญหากับบริการ LxssManager
เข้าถึง Localhost ด้วยหมายเลขพอร์ต
ตามที่ปรากฎ วิธีแก้ไขอื่นสำหรับข้อความแสดงข้อผิดพลาดที่เป็นปัญหาคือถ้าเว็บเซิร์ฟเวอร์ของคุณไม่ทำงานบนพอร์ตเริ่มต้น 80 คุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์ภายในเครื่องได้โดยระบุหมายเลขพอร์ตด้วย โดยปกติ หมายเลขพอร์ตคือ 80 หรือ 8080
ในการทำเช่นนั้น คุณต้องพิมพ์ localhost:8080 ในเบราว์เซอร์ของคุณ โปรดทราบว่าคุณไม่จำเป็นต้องพิมพ์ localhost:80 เนื่องจาก 80 เป็นพอร์ตเริ่มต้นที่เว็บเบราว์เซอร์ของคุณใช้ทุกครั้งที่เข้าถึงเว็บไซต์หรือเว็บเซิร์ฟเวอร์ใดๆ ไม่ว่าจะออนไลน์หรือออฟไลน์
ลบไฟล์กำหนดค่าแอปพลิเคชัน (ถ้ามี)
หากคุณกำลังใช้ Visual Studio และทำการเขียนโปรแกรม asp.net และพบข้อผิดพลาดนี้ ไม่ต้องกังวล เรามีวิธีแก้ไขสำหรับคุณ สิ่งที่คุณต้องทำคือลบไฟล์ application.config ที่อยู่ภายในโฟลเดอร์ชื่อ .vs ในบางกรณี โฟลเดอร์นี้สามารถซ่อนได้ ดังนั้นตรวจสอบให้แน่ใจว่าคุณสามารถเห็นไฟล์ที่ซ่อนอยู่ในหน้าต่าง Windows Explorer ของคุณ ทำตามคำแนะนำด้านล่างเพื่อทำสิ่งนี้:
- ก่อนอื่น เปิดโฟลเดอร์โครงการของคุณแล้วเปิด .vs โฟลเดอร์ หากคุณไม่เห็นโฟลเดอร์นี้ แสดงว่าโฟลเดอร์นี้ถูกซ่อนไว้ คุณจะต้องแก้ไขตัวเลือกโฟลเดอร์ในหน้าต่าง Windows Explorer เพื่อให้สามารถเห็นไฟล์และโฟลเดอร์ที่ซ่อนอยู่ได้
- เมื่ออยู่ภายใน .vs โฟลเดอร์ เปิด config โฟลเดอร์
- ภายในโฟลเดอร์ config ให้ลบ application.config ไฟล์.
- เพียงเท่านี้ หากคุณใช้ IISExpress และทำโปรเจ็กต์ asp.net อยู่ หวังว่าจะช่วยแก้ไขปัญหาของ visual Studio ที่ไม่สามารถเชื่อมต่อกับ localhost ได้