Apache Server บน Windows 7 เปิดพอร์ตหรือไม่


20

ฉันติดตั้ง Apache 2.2.14 บน Windows 7 และสามารถดูหน้าเว็บของฉันโดยใช้ทั้งสองอย่างhttp://localhostและhttp://127.0.0.1เมื่อฉันพยายามเข้าถึงเซิร์ฟเวอร์จากคอมพิวเตอร์เครื่องอื่นบนเราเตอร์เครื่องเดียวกันมันก็ล้มเหลว นอกจากนี้ยังล้มเหลวเมื่อฉันใช้ที่อยู่ DynDNS ที่ฉันได้ทำแผนที่

สิ่งนี้ใช้ได้ดีภายใต้ Windows XP ก่อนที่ฉันจะอัพเกรดเป็น Windows 7

ฉันสงสัยว่าปัญหาคือบางสิ่งบางอย่างเช่นพอร์ต 80 ที่ไม่ได้เปิดขึ้นสำหรับการเข้าถึงจากภายนอกสู่คอมพิวเตอร์

ไม่มีใครรู้วิธีเปิดพอร์ตนั้นในไฟร์วอลล์ Windows หรือหากมีสิ่งอื่นถูกล็อคสิ่งที่เป็นและวิธีการปลดล็อค?

คำตอบ:


34

ในการเพิ่มกฎในไฟร์วอลล์ Windows สำหรับพอร์ต 80 ให้ทำดังนี้:

  • ไปที่แผงควบคุมและเปิด "Windows Firewall"
  • ไปที่ "การตั้งค่าขั้นสูง"
  • เลือก "กฎขาเข้า" ในบานหน้าต่างด้านซ้าย
  • เลือก "New Rule" ในบานหน้าต่างด้านขวา
  • ในตัวช่วยสร้างกฎขาเข้าใหม่เลือก "พอร์ต" เป็นประเภทกฎจากนั้นคลิกที่ "ถัดไป"
  • เลือก "TCP และใส่" 80 "(และพอร์ตอื่น ๆ ที่คุณต้องการเปิด) ใน" พอร์ตในเครื่องเฉพาะ "จากนั้นคลิกที่" ถัดไป "
  • เลือก "อนุญาตการเชื่อมต่อ" จากนั้นคลิกที่ "ถัดไป"
  • เลือกตำแหน่งเครือข่ายที่ควรใช้กฎ (เลือกทั้งหมดถ้าคุณไม่แน่ใจ) จากนั้นคลิกที่ "ถัดไป"
  • ตั้งชื่อและคำอธิบายเพิ่มเติม

ที่ควรทำ


2
คุณอาจพบว่ามีกฎขาเข้า "Apache" อยู่แล้วภายใต้การตั้งค่าไฟร์วอลล์ หากคุณตรวจสอบกฎนี้คุณจะพบการตั้งค่าบางอย่างภายใต้แท็บทั่วไปซึ่งหนึ่งในนั้นคือการกระทำ มีสองตัวเลือกคือ - "อนุญาตการเชื่อมต่อ" และ "อนุญาตการเชื่อมต่อหากปลอดภัย" คุณสามารถเลือกตัวเลือกใดตัวเลือกหนึ่งตามดุลยพินิจของคุณ แต่ฉันขอแนะนำให้คุณอ่านและทำความเข้าใจตัวเลือก "ปรับแต่ง" ของตัวหลัง
Aaron Newton

เคล็ดลับ: คุณจะสามารถไปที่พอร์ตนั้นได้ แต่คุณอาจยังไม่สามารถping ip ได้!
fzyzcjy

3

ดูเหมือนไฟร์วอลล์ Windows 7 จะกลัวพอร์ต 80

มันจะเปิดพอร์ตเหล่านั้นหากคุณกำหนดค่าด้วยวิธีนี้:

เซิร์ฟเวอร์ Apache → UDP →พอร์ตทั้งหมด
เซิร์ฟเวอร์ Apache → TCP →พอร์ตทั้งหมด

ไม่ดีเนื่องจาก Apache มักใช้งานกับพอร์ตเฉพาะ (ฉันหมายถึง 80 บางตัวใช้ 8080 และ 443) แต่ฉันไม่พบวิธีอื่นเพื่อให้กฎไฟร์วอลล์ของ Apache ทำงานได้


2

ดูเหมือนว่าคุณจะต้องเพิ่มข้อยกเว้น (พอร์ต 80) ในไฟร์วอลล์ windows

ฉันแน่ใจว่าสามารถทำได้โดยเปิดแผงควบคุมไฟร์วอลล์และคลิกไปรอบ ๆ ใน XP มันค่อนข้างตรงไปตรงมาอย่างน้อย

ปัญหาอาจเป็นได้ว่า apache นั้นได้รับการกำหนดค่าให้ฟังบนอินเตอร์เฟสการวนกลับ คุณสามารถทดสอบได้โดยการเรียกใช้ netstat หรือพยายามเข้าชมที่อยู่อื่นของเครื่องเช่นhttp://192.168.1.101/


2

ฉันแค่ทำงานของฉัน ฉันสร้างกฎข้อยกเว้นสำหรับพอร์ต 80 บนไฟร์วอลล์ windows ฉันใช้ windows 7 บนแล็ปท็อปและ OSX Leopard บน Mac ของฉัน ข้อยกเว้นเพียงอย่างเดียวไม่สามารถแก้ไขปัญหาได้ จากนั้นฉันก็ปิดไฟร์วอลล์และฉันสามารถเชื่อมต่อกับ apache บนแล็ปท็อปจาก mac ของฉัน สิ่งที่แก้ไขปัญหาได้จริงคือในแผงควบคุม> เครือข่ายและศูนย์แบ่งปัน ฉันเปลี่ยนการตั้งค่าสำหรับเครือข่ายที่ใช้งานและตั้งเป็นเครือข่ายในบ้าน หากคุณตรวจสอบไฟร์วอลล์ที่ชนะคุณควรเห็นการเชื่อมต่อเครือข่ายในบ้าน (ส่วนตัว)


+1 ฉันต้องเลือกโฮมกรุ๊ปสำหรับเครือข่ายปัจจุบันเพื่อให้กฎทำงานได้ ขอบคุณ @ricardo
rishimaharaj

1

ลองทั้งเปิดพอร์ตบนเราเตอร์ของคุณไปยังเครื่องของคุณและดูไฟร์วอลล์ของ Windows

โปรดจำไว้ว่าเมื่อคุณติดตั้ง Windows ใหม่อาจเป็นไปได้ว่าคุณมี DHCP ที่แตกต่างกันและมีที่อยู่ IP ที่แตกต่างกันดังนั้นเราเตอร์อาจไม่สามารถส่งต่อได้อย่างถูกต้องอีกต่อไป

นอกเหนือจากนี้เราเตอร์ของคุณต้องรองรับ "Nat Loopback" ไม่เช่นนั้นคุณจะไม่สามารถเชื่อมต่อได้ แต่ฉันคิดว่ามันรองรับตามที่คุณบอกว่ามันใช้งานได้ก่อนหน้านี้ เพื่อตรวจสอบนี้ผมขอแนะนำให้คุณใช้ซ่อนของฉันโง่หรือProxify


> เป็นไปได้ว่าคุณมีที่อยู่ IP อื่นดังนั้นเราเตอร์อาจไม่สามารถส่งต่อได้อย่างถูกต้องอีกต่อไป ตกลงกัน! ฉันกำลัง“ ติดตั้ง” การติดตั้ง WordPress ของฉันเพื่อให้ฉันสามารถโฮสต์ได้จากทุกที่ ฉันทำให้มันทำงานได้ในท้องถิ่น แต่มันถูกบล็อกจากโลก มีข้อยกเว้นในไฟร์วอลล์ Windows อยู่แล้วเนื่องจากฉันบอกว่าอนุญาตเมื่อได้รับแจ้งฉันจึงตรวจสอบเราเตอร์และแน่นอนว่ามันถูกตั้งค่าให้ส่งต่อพอร์ต 80 ไปยัง IP ของเดสก์ท็อปของฉัน แน่นอนว่าการเปลี่ยนเป็นแล็ปท็อปนั้นไม่ดี ฉันสิ้นสุดการกำหนดพอร์ตทริกเกอร์แทนและตอนนี้ทำงานได้จากระบบที่เชื่อมต่อใด ๆ
Synetech

1

นอกเหนือจากการตรวจสอบไฟร์วอลล์และการตรวจสอบว่า apache กำลังฟังเฉพาะที่อยู่ในพื้นที่คุณสามารถ / ควรตรวจสอบ.htaccessไฟล์ของคุณ เวอร์ชันใหม่ที่คุณติดตั้งอาจใช้นโยบายความปลอดภัยที่เข้มงวดยิ่งขึ้น

บทเรียนบางส่วนเกี่ยวกับ .htaccess


0

ดูเหมือนว่าจะมีปัญหากับไฟร์วอลล์ Windows 7 เมื่อฉันปิดไฟร์วอลล์มันทำงานได้อย่างถูกต้อง ตอนนี้ฉันเพียงแค่ต้องคิดออกว่าจะใช้งานไฟร์วอลล์ แต่อนุญาตการเชื่อมต่อพอร์ต 80

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