Em quais cenários utilizarei 'netsh http add urlacl'?

4

Estou tentando entender em qual cenário eu precisarei usar esse comando:

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

É como usar o arquivo hosts , onde posso conectar um endereço específico ao meu computador? (Eu não penso assim).

Os documentos não são tão claros (para mim) :

Netsh is a command-line scripting utility that allows you to, either locally or remotely, display or modify the network configuration of a computer that is currently running. Netsh also provides a scripting feature that allows you to run a group of commands in batch mode against a specified computer. Netsh can also save a configuration script in a text file for archival purposes or to help you configure other servers.

Pergunta:

Alguém por favor pode fornecer um cenário da vida real (+ implementação) onde eu vou querer usá-lo?

Informações adicionais: Eu li esta questão onde um cara que tentou acessar (via C #) para:

http://localhost:1234 funciona, mas

http://server1:1234 falha

(No entanto - eu não entendo porque ele não usou o arquivo hosts que poderia resolvê-lo) - Mas então outra pessoa respondeu que netsh fará o trabalho.
Então eu acho que estou perdendo alguma coisa aqui.

    
por Eris 28.11.2017 / 08:10

1 resposta

8

Você usaria netsh http ao modificar a configuração de http.sys , que é totalmente diferente do arquivo hosts , trabalhando em um muito menor nível do Windows. Este nível é o que lida com o funcionamento de um servidor HTTP localmente no seu computador , então está preocupado com pedidos vindo para seu computador, ao invés dos que estão fora para a Internet.

Esta é a arquitetura no Windows para atender às solicitações de URL:

http.syséodriverqueouveotráfegoHTTPeosenviossolicitaçõescombasenaURLdosprocessos,paraqueváriosprocessospossamouvirparaotráfegoHTTPnamesmaporta.

http.sysfoiintroduzidonoWindowsserver2003.Antes,osaplicativosapenasabriramumsoqueteemumnódeextremidade(IP:Port),escutandootráfegodeentradaeanalisando-o.Oproblemaeraqueissotornavaimpossíveltodasasaplicaçõesparausaraporta80(http)e443(https),comonomodelodesoquete,apenasumaplicativopodeouvirumterminalemqualquermomento.

Quandoos Serviços de Informações da Internet (IIS) O servidor da Web, ou qualquer aplicativo que use a API do HTTP Server, ouça em algum caminho de solicitação HTTP, ele precisa registrar um prefixo de URL em http.sys . Chamamos esse processo de registro .

Quando uma solicitação recebida é escolhida por http.sys e é entregue ao o aplicativo registrado correto, isso é chamado de roteamento .

Qualquer aplicativo em execução no modo de administrador pode se registrar para um URL. Um aplicativo não-administrador precisa usar netsh http add urlacl para receber o pedido.

Conclusão: como você não está criando um servidor de URL de baixo nível em execução no modo não administrador você não tem motivos para usar netsh http add urlacl .

Referências:

por 02.12.2017 / 18:00