Máy chủ Apache trên Windows 7 mở cổng?


20

Tôi đã cài đặt Apache 2.2.14 trên Windows 7 và có thể xem các trang web của mình bằng cả hai http://localhosthttp://127.0.0.1khi tôi cố truy cập máy chủ từ một máy tính khác trên cùng một bộ định tuyến thì không thành công. Nó cũng thất bại khi tôi sử dụng địa chỉ DynDNS mà tôi đã ánh xạ.

Điều này hoạt động tốt trong Windows XP trước khi tôi nâng cấp lên Windows 7.

Tôi nghi ngờ vấn đề là một cái gì đó giống như cổng 80 không được mở để truy cập bên ngoài vào máy tính.

Có ai biết làm thế nào để mở cổng đó trong Tường lửa Windows, hoặc nếu một cái gì đó khác bị khóa đó là gì và làm thế nào để mở khóa nó?

Câu trả lời:


34

Để thêm quy tắc trong Tường lửa Windows cho cổng 80, hãy làm như sau:

  • Chuyển đến Bảng điều khiển và khởi chạy "Tường lửa Windows"
  • Chuyển đến "Cài đặt nâng cao"
  • Chọn "Quy tắc trong" trong khung bên trái
  • Chọn "Quy tắc mới" trong khung bên phải
  • Trong Trình hướng dẫn quy tắc mới, chọn "Cổng" làm Loại quy tắc, sau đó nhấp vào "Tiếp theo"
  • Chọn "TCP và đặt" 80 "(và bất kỳ cổng nào khác bạn muốn mở) vào" Cổng cục bộ cụ thể ", sau đó nhấp vào" Tiếp theo "
  • Chọn "Cho phép kết nối", sau đó nhấp vào "Tiếp theo"
  • Chọn vị trí mạng nơi áp dụng quy tắc (chọn tất cả nếu bạn không chắc chắn), sau đó nhấp vào "Tiếp theo"
  • Đặt tên và mô tả tùy chọn

Nên làm vậy.


2
Bạn có thể thấy rằng đã có quy tắc gửi đến "Apache" trong cài đặt tường lửa. Nếu bạn kiểm tra quy tắc này, bạn sẽ tìm thấy một số cài đặt trong tab Chung, một trong số đó là Hành động. Có hai tùy chọn - "Cho phép kết nối" và "Cho phép kết nối nếu an toàn". Bạn có thể chọn một trong các tùy chọn đó theo ý của mình, nhưng tôi khuyên bạn nên đọc và hiểu các tùy chọn "Tùy chỉnh" sau này.
Aaron Newton

Mẹo: Bạn sẽ có thể truy cập vào cổng đó, nhưng bạn vẫn không thể ping được ip!
fzyzcjy

3

Có vẻ như Windows 7 Firewall có nỗi sợ cổng 80.

Nó sẽ mở các cổng đó nếu bạn cấu hình nó theo cách này:

Máy chủ Apache → UDP → tất cả các cổng.
Máy chủ Apache → TCP → tất cả các cổng.

Điều đó thật tệ vì Apache thường hoạt động với các cổng cụ thể (ý tôi là 80, một số sử dụng 8080 và 443), nhưng tôi không tìm ra cách nào khác để làm cho các quy tắc tường lửa của Apache hoạt động.


2

có vẻ như bạn cần thêm một ngoại lệ (cổng 80) vào tường lửa của windows.

Tôi chắc chắn điều này có thể được thực hiện bằng cách mở bảng điều khiển tường lửa và nhấp xung quanh một chút. Trong XP, nó khá đơn giản.

Vấn đề cũng có thể là apache chỉ được cấu hình để nghe trên giao diện loopback. Bạn có thể kiểm tra điều đó bằng cách chạy netstat hoặc bằng cách truy cập địa chỉ khác của máy của bạn, như http://192.168.1.101/


2

Tôi chỉ làm việc của tôi. Tôi đã tạo quy tắc ngoại lệ cho cổng 80 trên tường lửa windows. Tôi đang chạy windows 7 trên máy tính xách tay và OSX Leopard trên máy Mac. Ngoại lệ một mình không khắc phục vấn đề. Sau đó tôi tắt Tường lửa và tôi có thể kết nối với apache trên máy tính xách tay từ máy mac của mình. Điều thực sự giải quyết vấn đề là trong bảng điều khiển> mạng và trung tâm chia sẻ. Tôi đã thay đổi cài đặt cho mạng đang hoạt động và đặt nó làm mạng gia đình. Nếu bạn kiểm tra tường lửa win, bạn sẽ thấy mạng Home (riêng tư) được kết nối


+1, tôi cũng phải chọn một nhóm nhà cho mạng hiện tại để quy tắc hoạt động. Cảm ơn @ricardo.
rishimaharaj

1

Hãy thử mở cả cổng trên bộ định tuyến sang máy của bạn và xem tường lửa của Windows.

Hãy nhớ rằng khi bạn cài đặt lại Windows, có thể bạn có một hợp đồng thuê DHCP khác và có một địa chỉ IP khác để bộ định tuyến có thể không chuyển tiếp chính xác nữa.

Trên hết, bộ định tuyến của bạn cần hỗ trợ "Nat Loopback" nếu không bạn sẽ không kết nối được, tuy nhiên tôi cho rằng nó hỗ trợ nó như bạn đã nói trước đây. Để kiểm tra điều này, tôi khuyên bạn nên sử dụng Hide My Ass hoặc Proxify .


> Có thể bạn có một địa chỉ IP khác để bộ định tuyến có thể không chuyển tiếp chính xác nữa. Đã đồng ý! Tôi là người có khả năng chuyển đổi cài đặt WordPress của tôi để tôi có thể dễ dàng lưu trữ nó từ bất cứ đâu. Tôi đã làm cho nó hoạt động tại địa phương, nhưng nó bị chặn khỏi thế giới. Đã có một ngoại lệ trong Tường lửa Windows vì tôi đã cho phép khi nó nhắc tôi, vì vậy tôi đã kiểm tra bộ định tuyến và chắc chắn, nó đã được đặt để chuyển cổng 80 sang IP của máy tính để bàn của tôi. Tất nhiên thay đổi nó để máy tính xách tay là không tốt. Cuối cùng tôi đã chỉ định một trình kích hoạt cổng và bây giờ hoạt động từ bất kỳ hệ thống được kết nối nào.
Synetech

1

Ngoài việc kiểm tra tường lửa và kiểm tra xem apache chỉ nghe địa chỉ localhost, bạn có thể / cũng nên kiểm tra các .htaccesstệp của mình . Phiên bản mới mà bạn đã cài đặt có thể đã thực hiện chính sách bảo mật hạn chế hơn.

Một số hướng dẫn về .htaccess


0

Có vẻ như đó là một vấn đề với tường lửa Windows 7. Khi tôi tắt tường lửa, nó hoạt động đúng. Bây giờ tôi chỉ cần tìm ra cách để tường lửa hoạt động nhưng cho phép kết nối cổng 80.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.