Estou tentando entender em que cenário vou precisar usar esse comando:
netsh http add urlacl url=http://server1:1234/ user=Everyone
É como usar o hosts
arquivo em que posso conectar um endereço específico ao meu computador? (Acho que não).
Os documentos não são tão claros (para mim):
Netsh é um utilitário de script de linha de comando que permite exibir, local ou remotamente, ou modificar a configuração de rede de um computador que está sendo executado no momento. O Netsh também fornece um recurso de script que permite executar um grupo de comandos no modo em lote em um computador especificado. O Netsh também pode salvar um script de configuração em um arquivo de texto para fins de arquivamento ou para ajudá-lo a configurar outros servidores.
Questão:
Alguém pode fornecer um cenário da vida real (+ implementação) onde eu vou querer usá-lo?
Informações adicionais: Eu li esta pergunta onde um cara que tentou acessar (via C #) para:
http://localhost:1234
funciona, mas
http://server1:1234
falha
(No entanto - eu não entendo por que ele não usou o hosts
arquivo que poderia resolvê-lo) - Mas outra pessoa respondeu que netsh
fará o trabalho.
Acho que estou perdendo alguma coisa aqui.
Respostas:
Você usaria
netsh http
ao modificar a configuração dehttp.sys
, que é totalmente diferente dohosts
arquivo, trabalhando em um nível muito mais baixo do Windows. Este nível é aquele que manipula a execução de um servidor HTTP localmente em seu computador , então está preocupado com os pedidos vindo em seu computador, em vez de os ir para fora para a Internet.Esta é a arquitetura no Windows para atender solicitações de URL:
http.sys
é o driver que escuta o tráfego HTTP e despacha solicitações com base na URL para processos, para que vários processos possam ouvir o tráfego HTTP na mesma porta.http.sys
foi introduzido no Windows server 2003. Antes, os aplicativos apenas abriam um soquete em um nó de extremidade (IP: Porta), ouvindo o tráfego recebido e analisando-o. O problema era que isso tornava impossível para todos os aplicativos usar a porta 80 (http) e 443 (https), pois no modelo de soquete, apenas um aplicativo pode ouvir um nó de extremidade a qualquer momento.Quando o servidor Web dos Serviços de Informações da Internet (IIS) ou qualquer aplicativo que use a API do HTTP Server escuta algum caminho de solicitação HTTP, eles precisam registrar um prefixo de URL
http.sys
. Chamamos esse processo de registro .Quando uma solicitação de entrada é selecionada
http.sys
e entregue no aplicativo registrado correto, isso é chamado de roteamento .Qualquer aplicativo em execução no modo administrador pode se registrar para um URL. Um aplicativo não administrador precisa usar
netsh http add urlacl
para receber a solicitação.Conclusão: Como você não está construindo um servidor de URL de baixo nível em execução no modo não administrador, não há motivos para usá-lo
netsh http add urlacl
.Referências :
fonte