Trong trường hợp nào tôi sẽ sử dụng `Netsh http thêm urlacl`?


14

Tôi đang cố gắng để hiểu trong bối cảnh nào tôi sẽ cần phải sử dụng lệnh như vậy:

netsh http add urlacl url=http://server1:1234/ user=Everyone

Có giống như sử dụng hoststệp mà tôi có thể kết nối một địa chỉ cụ thể với máy tính của mình không? (Tôi không nghĩ vậy).

Các tài liệu không rõ ràng (với tôi):

Netsh là một tiện ích kịch bản dòng lệnh cho phép bạn, cục bộ hoặc từ xa, hiển thị hoặc sửa đổi cấu hình mạng của máy tính hiện đang chạy. Netsh cũng cung cấp một tính năng kịch bản cho phép bạn chạy một nhóm lệnh trong chế độ hàng loạt đối với một máy tính được chỉ định. Netsh cũng có thể lưu tập lệnh cấu hình trong tệp văn bản cho mục đích lưu trữ hoặc để giúp bạn định cấu hình các máy chủ khác.

Câu hỏi:

Ai đó có thể vui lòng cung cấp một kịch bản thực tế (+ thực hiện) nơi tôi sẽ muốn sử dụng nó không?

Thông tin bổ sung: Tôi đã đọc câu hỏi này khi một anh chàng đã cố gắng truy cập (thông qua C #) để:

http://localhost:1234 hoạt động, nhưng

http://server1:1234 thất bại

(Tuy nhiên - Tôi không hiểu tại sao anh ta không sử dụng hoststệp có thể giải quyết nó) - Nhưng sau đó, một người khác đã trả lời rằng netshsẽ thực hiện công việc.
Vì vậy, tôi đoán rằng tôi đang thiếu một cái gì đó ở đây.


Tôi hoàn toàn biết tập tin máy chủ nào được sử dụng cho tôi làm điều đó mỗi ngày trong 1 năm qua. Tôi không hiểu làm thế nào mã trong câu hỏi của tôi khác với tập tin máy chủ. Dường như cả hai đều làm như vậy. Và thật đáng buồn, bạn đã không cung cấp bất kỳ sự khác biệt nào trong câu trả lời của mình
Royi Namir

Câu trả lời:


18

Bạn sẽ sử dụng netsh httpkhi sửa đổi cấu hình http.sys, khác hoàn toàn với hoststệp, hoạt động ở cấp độ Windows thấp hơn nhiều. Mức này là một trong đó xử lý các hoạt động của một máy chủ HTTP cục bộ trong máy tính của bạn , vì vậy là có liên quan với yêu cầu sắp tới vào máy tính của bạn, chứ không phải là những người đi ra với Internet.

Đây là kiến ​​trúc trong Windows để phục vụ các yêu cầu URL:

kiến trúc http.sys

http.sys là trình điều khiển lắng nghe lưu lượng HTTP và gửi các yêu cầu dựa trên URL tới các quy trình, vì vậy nhiều quy trình có thể lắng nghe lưu lượng HTTP trên cùng một cổng.

http.sysđã được giới thiệu trong máy chủ Windows 2003. Trước đây, các ứng dụng chỉ mở một ổ cắm trên điểm cuối (IP: Cổng), lắng nghe lưu lượng đến và phân tích cú pháp. Vấn đề là điều này khiến tất cả các ứng dụng không thể sử dụng cổng 80 (http) và 443 (https), vì với mô hình ổ cắm, chỉ có một ứng dụng có thể nghe điểm cuối tại bất kỳ thời điểm nào.

Khi máy chủ Web Dịch vụ thông tin Internet (IIS) hoặc bất kỳ ứng dụng nào sử dụng API máy chủ HTTP, hãy lắng nghe trên một số đường dẫn yêu cầu HTTP, họ cần phải đăng ký tiền tố URL http.sys. Chúng tôi gọi đây là quá trình đăng ký .

Khi một yêu cầu đến được chọn bởi http.sysvà nó được gửi đến đúng ứng dụng đã đăng ký, đây được gọi là định tuyến .

Bất kỳ ứng dụng nào đang chạy trong chế độ quản trị viên đều có thể đăng ký URL. Một ứng dụng không phải quản trị viên cần sử dụng netsh http add urlacl để nhận yêu cầu.

Kết luận: Vì bạn không xây dựng máy chủ URL cấp thấp đang chạy ở chế độ không phải quản trị viên, nên bạn không có lý do gì để sử dụng netsh http add urlacl.

Người giới thiệu :


Bạn có thể vui lòng cung cấp một kịch bản trong đó đại loại như: "người dùng muốn kết nối với iis của bạn với ...."
Royi Namir

Đây là phương pháp để các ứng dụng hoạt động song song với IIS. Nếu nó đăng ký tiền tố URL, ứng dụng sẽ nhận được tất cả các yêu cầu của nó trực tiếp và không thông qua IIS, có nghĩa là nó không cần phải được viết dưới dạng phần mở rộng của IIS, thậm chí bạn không cần phải cài đặt IIS (theo lý thuyết - tôi không ' t biết làm thế nào tốt trong thực tế http.sys độc lập với IIS).
harrymc
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.