WebSockets & SSL

A comunicação HTTP pode ser feita de duas maneiras diferentes, segura e não segura. A conexão segura é feita usando https:// protocolo enquanto http:// é para conexões não seguras. Da mesma forma, conexões WebSockets podem ser feitas usando ws:// protocolo não seguro ou seguro wss:// protocolo. Se a página da web usa um https conexão segura então a conexão WebSocket também deve usar wss protocolo. Os navegadores da web aplicam a política de mesmo protocolo quando sua página é acessada a partir de um domínio. A única exceção é quando você a acessa a partir de localhost. Isso significa que você pode usar uma conexão WebSockets não segura junto com uma página da web segura se seu domínio for localhost.

uniGUI usa os mesmos princípios ao estabelecer conexões WebSocket. Se a página da web usa https então wss será usado para a conexão WebSocket. Esse comportamento pode ser substituído definindo o AlwaysUseHTTP propriedade para True. Nesse caso, os WebSockets usarão uma conexão não segura independentemente da página da web. Isso é útil apenas para fins de teste quando sua aplicação é executada em localhost. Em um ambiente de produção AlwaysUseHTTP deve sempre ser False; caso contrário, a conexão será rejeitada pelo navegador, pois a mistura de conteúdo seguro e não seguro será bloqueada.

circle-info

Você pode usar ws:// (não seguro) com uma página da web segura somente quando a página for servida a partir de localhost. Para qualquer outro domínio, o navegador bloqueará conteúdo misto (seguro/não seguro).

circle-exclamation

As configurações SSL dos WebSockets podem ser diferentes dependendo do método de implantação.

Standalone Server and Service

Nesse caso, nenhuma consideração especial é necessária. A mesma configuração SSL será usada para os WebSockets. Ou seja, se a conexão SSL da sua página da web funcionar perfeitamente, sua conexão WebSocket segura será estabelecida.

ISAPI or Apache Module

Isso pode ser mais complicado. Se você usar uma porta auxiliar no mesmo domínio, você precisa usar os mesmos arquivos de certificado para preencher as configurações SSL do ServerModule com base nas instruções em SSL Configurationarrow-up-right. Observe que, em condições normais para módulos ISAPI ou Apache, nenhuma configuração SSL é feita para uniGUI, mas se o mesmo módulo de aplicação for executado com seu próprio servidor WebSockets interno em uma porta ou endereço IP diferente, é necessário configurar corretamente o SSL Configurationarrow-up-right.