Executando o Servidor Dedicado nas Portas Padrão

Nas seções anteriores configuramos um servidor dedicado WebSockets (HyperServer) e o testamos com um aplicativo de teste. O servidor dedicado foi executado nas portas 8077 e 8078 para conexões não seguras e seguras. Aqui executamos o mesmo servidor nas portas padrão HTTP/HTTPS (80 e 443). Algumas redes proíbem portas não padrão ou alguns clientes não conseguem acessá-las, então usar portas padrão pode ser necessário.

Abaixo estão as etapas e alterações de configuração necessárias para executar o HyperServer nas portas padrão mantendo o IIS em execução na mesma máquina.

1

1. Alterar a configuração do HyperServer para usar as portas padrão

Edite seu arquivo CFG do HyperServer e defina:

[hyper_server]
port=80

No arquivo de configuração SSL defina:

SSL.SSLPort = 443

Em seguida, execute o HyperServer dedicado para ver o que acontece.

2

2. Observe falha de ligação se o IIS estiver usando as portas padrão

Se o IIS já estiver ouvindo nas portas 80 e 443, o HyperServer não conseguirá vincular-se a essas portas e exibirá um erro (HyperServer unable to bind). Exemplo de captura de tela:

https://unigui.com/doc/online_help/clip0281.png

3

3. Planeje executar IIS e HyperServer nas mesmas portas, mas em endereços IP diferentes

Se você não puder desativar o IIS, pode vincular o IIS e o HyperServer a endereços IP diferentes. Cada servidor pode escutar nas mesmas portas, mas em IPs separados.

Neste exemplo:

  • A interface de rede existente tem IP 192.168.1.4.

  • Adicionamos um IP secundário 192.168.1.5 à interface (manualmente via configurações de rede).

Captura de tela após adicionar o IP secundário:

https://unigui.com/doc/online_help/clip0282.png

4

4. Configure o HyperServer para vincular-se apenas ao novo IP

No arquivo CFG do HyperServer defina:

[hyper_server]
bindings=192.168.1.5

Isso faz o HyperServer escutar apenas em 192.168.1.5. No entanto, o IIS ainda pode estar vinculado a todos os IPs (0.0.0.0) e, portanto, ainda ocupar 192.168.1.5. Verifique com netstat — as portas 80 e 443 podem aparecer vinculadas a 0.0.0.0 significando todos os IPs:

https://unigui.com/doc/online_help/clip0283.png

5

5. Restrinja o IIS a endereços IP específicos usando netsh

Abra um prompt de comando elevado (Administrador) e adicione os endereços IP que você quer que o IIS use para seus serviços:

netsh http add iplisten ipaddress=127.0.0.1
netsh http add iplisten ipaddress=192.168.1.4

Captura de tela:

https://unigui.com/doc/online_help/clip0284.png

6

6. Reinicie os serviços HTTP/IIS

Pare o serviço HTTP (isso irá parar serviços dependentes):

net stop http /y

Captura de tela:

https://unigui.com/doc/online_help/clip0285.png

Inicie o Serviço de Publicação na World Wide Web:

net start w3svc

Captura de tela:

https://unigui.com/doc/online_help/clip0286.png

7

7. Verifique se o IIS está vinculado apenas aos IPs selecionados

Use o netstat para verificar se as portas 80 e 443 estão vinculadas apenas a 127.0.0.1 e 192.168.1.4 (não a 192.168.1.5). Exemplo:

https://unigui.com/doc/online_help/clip0287.png

Você também pode mostrar a lista iplisten com:

netsh http show iplisten

Captura de tela:

https://unigui.com/doc/online_help/clip0322.png

8

8. Execute o HyperServer; agora ele deve vincular-se a 192.168.1.5 nas portas 80/443

Após o IIS ser restringido aos IPs acima, inicie a instância dedicada do HyperServer. Se for bem-sucedido, não haverá erro de vínculo. Teste em um navegador:

http://192.168.1.5/@info

Captura de tela:

https://unigui.com/doc/online_help/clip0289.png

9

9. Atualize o arquivo hosts para mapear o domínio ao IP do HyperServer (opcional, mas recomendado)

Se você anteriormente redirecionou um domínio (socket.fmsoft.net) para 127.0.0.1, atualize-o para apontar para o IP do HyperServer (192.168.1.5). Edite:

C:\Windows\System32\drivers\etc\hosts

Altere o mapeamento para:

(socket.fmsoft.net → 192.168.1.5)

Captura de tela mostrando edição do hosts:

https://unigui.com/doc/online_help/clip0288.png

Verifique pingando:

https://unigui.com/doc/online_help/clip0290.png

10

10. Teste o HyperServer usando o nome de domínio

Com o hosts atualizado, teste usando o domínio:

https://unigui.com/doc/online_help/clip0291.png https://unigui.com/doc/online_help/clip0292.png

A ausência de números de porta na URL indica que o servidor está vinculado às portas padrão HTTP/HTTPS.

11

11. Reconfigure o aplicativo de teste para usar o servidor dedicado

Como o HyperServer agora usa portas padrão, atualize a configuração do aplicativo de teste:

  • Defina ExternalServerUrl para:

    • http://socket.fmsoft.net (Você também pode usar http://192.168.1.5, mas usar um domínio é preferível.)

  • Defina GlobalBinding para:

    • socket.fmsoft.net

Captura de tela mostrando a configuração do app de teste:

https://unigui.com/doc/online_help/clip0293.png

Você pode definir a porta do aplicativo de teste de volta para o padrão uniGUI 8077 porque essa porta não é mais usada pelo servidor WebSockets dedicado:

https://unigui.com/doc/online_help/clip0295.png

12

12. Verifique se o aplicativo de teste funciona com o servidor dedicado nas portas padrão

Após as mudanças, o aplicativo de teste conecta-se ao servidor dedicado executando nas portas HTTP padrão. Capturas de tela de exemplo:

https://unigui.com/doc/online_help/clip0296.png https://unigui.com/doc/online_help/clip0297.png https://unigui.com/doc/online_help/clip0298.png

circle-info

Resumo: Ao adicionar um IP secundário à interface de rede do servidor, restringir o IIS a IPs específicos usando netsh iplisten e configurar o HyperServer para vincular-se ao IP secundário, você pode executar IIS e HyperServer lado a lado nas mesmas portas padrão (80 e 443).