Cách định cấu hình Tường lửa Windows để cho phép tất cả các cổng được sử dụng bởi IIS Express


9

Sự hiểu biết của tôi về bài viết kỹ thuật này , trên mỗi trang đưa tôi đến đó *, là tôi có thể định cấu hình Tường lửa Windows để cho phép tất cả lưu lượng truy cập vào trên bất kỳ cổng nào được sử dụng bởi một tệp thực thi được chỉ định.

Tôi nhận ra câu trả lời của defacto có khả năng là "Đừng làm điều này", vì vậy hãy hiểu ; Tôi đang chạy Visual Studio và IIS Express bên trong một máy ảo và muốn có thể kết nối từ hệ điều hành máy chủ cho mục đích thử nghiệm, do đó không thực sự quan tâm đến ý nghĩa bảo mật của việc mở tất cả các cổng đang được IIS Express sử dụng.

Tôi đã tạo một quy tắc gửi đến với Chương trình được đặt thành %ProgramFiles% (x86)\IIS Express\iisexpress.exe, đó là chương trình thực thi đang chạy theo trình quản lý tác vụ. Tất cả các thông số quy tắc khác được để trống (bất kỳ địa chỉ cục bộ, bất kỳ địa chỉ từ xa và cổng cục bộ, bất kỳ cổng từ xa nào, "bất kỳ" người dùng được phép, "bất kỳ" máy tính được phép nào). Tuy nhiên, kết nối chỉ hoạt động nếu tôi có quy tắc cho cổng cụ thể được cung cấp bởi IIS Express.

Vì nó sẽ giúp cuộc sống của tôi dễ dàng hơn (và chủ yếu dựa trên nguyên tắc vì Technet nói rằng nó sẽ hoạt động), tôi không cần phải thêm quy tắc tường lửa cho mỗi ứng dụng tôi tạo.

* Nhiệm vụ "Tạo quy tắc cho phép chương trình lắng nghe và chấp nhận lưu lượng truy cập mạng trong nước trên bất kỳ cổng nào mà nó yêu cầu."


1
Vì bạn đề cập đến bảo mật không phải là một mối quan tâm, có vấn đề gì với việc mở tất cả các cổng không?
Abraxas

Chỉ cần tắt tường lửa trong hệ điều hành khách .. :-) Tôi luôn vô hiệu hóa mọi thứ có thể trong các hệ điều hành khách của mình ..
Kody Brown

Câu trả lời:


1

Có một vài vấn đề bạn đang gặp phải ở đây. Một là đó iisexpress.exekhông thực sự là quá trình chịu trách nhiệm lắng nghe lưu lượng HTTP. Chức năng đó được triển khai http.sys như một phần chế độ lõi của ngăn xếp mạng Windows . (Điều này được thực hiện vì lý do hiệu suất. Để biết thêm thông tin, hãy xem Giới thiệu về Kiến trúc IIS .) Do đó, tạo quy tắc cho việc iisexpress.exekhông làm gì cả.

Thứ hai, http.systheo mặc định, không cho phép các chương trình chạy dưới dạng quản trị viên nghe các máy tính khác. Theo Phục vụ lưu lượng truy cập bên ngoài với WebMatrix , bạn cần chạy lệnh này trong dấu nhắc lệnh quản trị để cho phép tất cả người dùng nghe các máy khác thông qua http.sys:

netsh http add urlacl url=http://MACHNAME:PORT/ user=everyone

Thay thế MACHNAMEbằng tên máy chủ sẽ được sử dụng để liên hệ với trang web và PORTvới cổng của lưu lượng truy cập. Tôi đã đọc rằng sử dụng *thay vì một tên máy chủ cụ thể cho phép nó nghe trên tất cả các tên / giao diện, nhưng tôi chưa kiểm tra cá nhân điều đó và một số tài liệu sử dụng +thay thế. Dù bằng cách nào, khi bạn đã đặt ACL, bạn có thể tạo quy tắc tường lửa gửi đến cho cổng .

Đọc thêm: Định cấu hình HTTP và HTTPS .

Nhận xét bên lề: Có một biến môi trường thực tế trỏ đến phiên bản 32-bit của Tệp chương trình : %PROGRAMFILES(X86)%. (Tuy nhiên, đường dẫn không phải là vấn đề của bạn.)

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.