어떤 시나리오에서 'netsh http add urlacl'을 사용합니까?


14

어떤 시나리오에서 그러한 명령을 사용 해야하는지 이해하려고합니다.

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

hosts특정 주소를 컴퓨터에 연결할 수 있는 파일을 사용하는 것과 같은가요 ? (나는 그렇게 생각하지 않습니다).

문서가 아닌 그 (나에게) 분명히 :

Netsh는 현재 실행중인 컴퓨터의 네트워크 구성을 로컬 또는 원격으로 표시하거나 수정할 수있는 명령 줄 스크립팅 유틸리티입니다. Netsh는 또한 지정된 컴퓨터에 대해 배치 모드에서 명령 그룹을 실행할 수있는 스크립팅 기능을 제공합니다. Netsh는 보관을 위해 또는 다른 서버를 구성 할 수 있도록 구성 스크립트를 텍스트 파일로 저장할 수도 있습니다.

질문:

누군가 내가 그것을 사용하고 싶은 실제 시나리오 (+ 구현)를 제공 할 수 있습니까?

추가 정보 : (C #을 통해) 액세스하려고 한 남자 가이 질문을 읽었습니다 .

http://localhost:1234 작동하지만

http://server1:1234 실패

(그러나-왜 그가 hosts그것을 해결할 수 있는 파일을 사용하지 않았는지 이해하지 못합니다 )-그러나 다른 사람이 netsh그 일 을 할 것이라고 대답했습니다 .
그래서 여기에 뭔가 빠진 것 같습니다.


지난 1 년 동안 매일 호스트 파일이 어떤 용도로 사용되는지 완벽하게 알고 있습니다. 내 질문의 코드가 호스트 파일과 어떻게 다른지 이해하지 못합니다. 둘 다 똑같이하는 것 같습니다. 그리고 슬프게도, 당신은 당신의 대답에 어떤 차이를 공급 didnt는
Royi Namir에게

답변:


18

파일 netsh http의 구성과 http.sys다른 구성을 수정할 때 hosts훨씬 낮은 수준의 Windows에서 작업 할 때 사용 합니다. 이 수준은 핸들이 HTTP 서버의 실행하는 하나입니다 컴퓨터에 로컬 때문에 요청이 오는 우려 오히려 사람이가는 것보다, 컴퓨터 밖으로 인터넷에.

URL 요청을 제공하기위한 Windows의 아키텍처입니다.

http.sys 아키텍처

http.sys HTTP 트래픽을 수신하고 URL을 기반으로 요청을 프로세스로 디스패치하는 드라이버이므로 여러 프로세스가 동일한 포트에서 HTTP 트래픽을 청취 할 수 있습니다.

http.sys이전에는 응용 프로그램이 엔드 포인트 (IP : Port)에서 소켓을 열어 들어오는 트래픽을 듣고 구문 분석했습니다. 소켓 모델을 사용하면 주어진 시간에 한 응용 프로그램 만 끝점을 수신 할 수 있기 때문에 모든 응용 프로그램에서 포트 80 (http) 및 443 (https)을 사용할 수 없다는 문제가있었습니다.

인터넷 정보 서비스 (IIS) 웹 서버 또는 HTTP 서버 API를 사용하는 응용 프로그램이 일부 HTTP 요청 경로 듣고, 그들에 URL 접두사를 등록해야합니다 http.sys. 우리는이 프로세스 등록을 호출합니다 .

들어오는 요청이 선택되어 http.sys올바른 등록 된 응용 프로그램으로 전달되면이를 라우팅 이라고 합니다.

관리자 모드에서 실행중인 모든 응용 프로그램은 URL을 등록 할 수 있습니다. 비 관리자 응용 프로그램 netsh http add urlacl 은 요청을 수신 하기 위해 사용해야 합니다.

결론 : 비 관리자 모드에서 실행되는 저수준 URL 서버를 구축하지 않으므로 사용할 이유가 없습니다 netsh http add urlacl.

참고 문헌 :


"사용자가 함께 .... 당신의 IIS에 연결하고 싶어"당신이 뭔가이 같은 시나리오를 제공 주실 래요
Royi Namir

이것은 응용 프로그램이 IIS와 나란히 작동하는 방법입니다. URL 접두사를 등록하면 응용 프로그램은 IIS를 통하지 않고 직접 모든 요청을 가져옵니다. 즉, IIS의 확장으로 작성 될 필요가 없으며 IIS를 설치할 필요도 없습니다. 실제로 http.sys가 IIS와 얼마나 독립적인지는 잘 모릅니다.
harrymc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.