Mudanças entre as edições de "Configuração de SSL"
(→Para que Serve) |
|||
| (Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
| Linha 5: | Linha 5: | ||
A configuração do SSL não precisa necessariamente ser realizada diretamente no serviço da aplicação. É possível utilizar um servidor intermediário responsável por receber as conexões HTTPS e encaminhar as requisições para a aplicação. | A configuração do SSL não precisa necessariamente ser realizada diretamente no serviço da aplicação. É possível utilizar um servidor intermediário responsável por receber as conexões HTTPS e encaminhar as requisições para a aplicação. | ||
| − | Esse componente atua como um ''' | + | Esse componente atua como um '''Proxy Reverso'''. |
Um exemplo dessa arquitetura é a utilização do IIS, onde o certificado SSL é configurado no servidor e o IIS recebe as requisições HTTPS, encaminhando posteriormente as solicitações para o serviço da aplicação. | Um exemplo dessa arquitetura é a utilização do IIS, onde o certificado SSL é configurado no servidor e o IIS recebe as requisições HTTPS, encaminhando posteriormente as solicitações para o serviço da aplicação. | ||
| Linha 21: | Linha 21: | ||
| | | | ||
| HTTPS | | HTTPS | ||
| − | | Porta | + | | Porta 36400 |
v | v | ||
+-----------------+ | +-----------------+ | ||
| Linha 44: | Linha 44: | ||
<pre> | <pre> | ||
| − | https://api.exemplo.com.br | + | https://api.exemplo.com.br:36400 |
</pre> | </pre> | ||
| Linha 78: | Linha 78: | ||
|- | |- | ||
| Porta | | Porta | ||
| − | | | + | | 36400 |
|- | |- | ||
| Domínio | | Domínio | ||
| Linha 96: | Linha 96: | ||
<pre> | <pre> | ||
| − | https://api.exemplo.com.br/clientes | + | https://api.exemplo.com.br:36400/clientes |
</pre> | </pre> | ||
| Linha 116: | Linha 116: | ||
<pre> | <pre> | ||
| − | https://api.exemplo.com.br | + | https://api.exemplo.com.br:36400 |
</pre> | </pre> | ||
| Linha 134: | Linha 134: | ||
|- | |- | ||
| Domínio | | Domínio | ||
| − | | https://api.exemplo.com.br | + | | https://api.exemplo.com.br:36400 |
|- | |- | ||
| Porta HTTPS | | Porta HTTPS | ||
| − | | | + | | 36400 |
|- | |- | ||
| Porta interna | | Porta interna | ||
| Linha 151: | Linha 151: | ||
Cliente | Cliente | ||
| | | | ||
| − | | HTTPS : | + | | HTTPS :36400 |
v | v | ||
IIS | IIS | ||
| Linha 163: | Linha 163: | ||
<pre> | <pre> | ||
| − | https://api.exemplo.com.br/pessoas | + | https://api.exemplo.com.br:36400/pessoas |
</pre> | </pre> | ||
| Linha 185: | Linha 185: | ||
Cliente | Cliente | ||
| | | | ||
| − | | HTTPS : | + | | HTTPS :36400 |
v | v | ||
IIS | IIS | ||
| Linha 216: | Linha 216: | ||
Cliente | Cliente | ||
| | | | ||
| − | | HTTPS | + | | HTTPS :36400 |
v | v | ||
Proxy Reverso | Proxy Reverso | ||
| Linha 222: | Linha 222: | ||
| Comunicação interna | | Comunicação interna | ||
v | v | ||
| − | Aplicação | + | Aplicação :8152 |
</pre> | </pre> | ||
| Linha 241: | Linha 241: | ||
<pre> | <pre> | ||
| − | https://api.exemplo.com.br | + | https://api.exemplo.com.br:36400 |
</pre> | </pre> | ||
| Linha 269: | Linha 269: | ||
# Instalar o certificado no servidor. | # Instalar o certificado no servidor. | ||
# Acessar o IIS. | # Acessar o IIS. | ||
| − | # Localizar o Binding HTTPS. | + | # Localizar o Binding HTTPS configurado na porta 36400. |
# Associar o novo certificado ao domínio. | # Associar o novo certificado ao domínio. | ||
# Salvar a configuração. | # Salvar a configuração. | ||
| Linha 291: | Linha 291: | ||
* HTTPS; | * HTTPS; | ||
* Certificado SSL/TLS; | * Certificado SSL/TLS; | ||
| − | * Porta | + | * Porta 36400; |
* Controle de acesso; | * Controle de acesso; | ||
* Proxy reverso. | * Proxy reverso. | ||
Edição atual tal como às 10h54min de 23 de setembro de 2026
Índice
Conceito
O SSL/TLS é utilizado para estabelecer uma comunicação segura entre o cliente e o servidor, permitindo que aplicações sejam acessadas através do protocolo HTTPS.
A configuração do SSL não precisa necessariamente ser realizada diretamente no serviço da aplicação. É possível utilizar um servidor intermediário responsável por receber as conexões HTTPS e encaminhar as requisições para a aplicação.
Esse componente atua como um Proxy Reverso.
Um exemplo dessa arquitetura é a utilização do IIS, onde o certificado SSL é configurado no servidor e o IIS recebe as requisições HTTPS, encaminhando posteriormente as solicitações para o serviço da aplicação.
Para que Serve
A utilização de SSL/TLS permite disponibilizar a aplicação por meio do protocolo HTTPS, garantindo uma comunicação segura entre o cliente e o servidor. Nesse cenário, o uso de um proxy reverso permite separar a camada responsável pelo acesso externo da aplicação que é executada internamente no servidor, possibilitando que a aplicação continue utilizando uma porta interna enquanto o acesso externo seja realizado por meio de um endereço HTTPS.
Arquitetura
Considerando uma aplicação executando internamente na porta 8152 e utilizando o IIS como proxy reverso, o fluxo de comunicação será:
INTERNET
|
| HTTPS
| Porta 36400
v
+-----------------+
| IIS |
| |
| Certificado SSL |
| Binding HTTPS |
| Proxy Reverso |
+--------+--------+
|
| HTTP interno
| Porta 8152
v
+-----------------+
| Aplicação |
| |
| Porta 8152 |
+-----------------+
O cliente acessa somente o endereço externo da aplicação:
https://api.exemplo.com.br:36400
Internamente, o IIS encaminha a requisição para:
http://localhost:8152
A aplicação permanece executando na porta interna configurada para o serviço.
Configuração
A configuração do acesso HTTPS envolve principalmente os seguintes componentes:
- Domínio utilizado para acesso à aplicação;
- Certificado SSL/TLS;
- Binding HTTPS no servidor;
- Porta utilizada para HTTPS;
- Configuração do proxy reverso;
- Endereço e porta interna da aplicação.
No cenário utilizando IIS, o certificado é instalado no servidor e associado ao domínio através do Binding HTTPS.
Exemplo:
| Configuração | Valor |
|---|---|
| Tipo | HTTPS |
| Porta | 36400 |
| Domínio | api.exemplo.com.br |
| Certificado | Certificado correspondente ao domínio |
Após a configuração do HTTPS, o IIS passa a receber as requisições destinadas ao domínio.
Proxy Reverso
O proxy reverso é responsável por encaminhar as requisições recebidas pelo servidor para a aplicação que está executando internamente.
Por exemplo, quando o cliente acessar:
https://api.exemplo.com.br:36400/clientes
o IIS poderá encaminhar a requisição para:
http://localhost:8152/clientes
Dessa forma, a aplicação não precisa estar diretamente exposta na Internet.
No IIS, o proxy reverso pode ser configurado utilizando recursos como o URL Rewrite e o Application Request Routing (ARR).
Certificado SSL
O certificado SSL/TLS deve ser válido para o domínio utilizado no acesso à aplicação.
Por exemplo, para o endereço:
https://api.exemplo.com.br:36400
o certificado deverá contemplar o domínio utilizado.
O certificado é instalado no servidor responsável pelo recebimento das conexões HTTPS e posteriormente associado ao Binding HTTPS do site.
A aplicação não precisa necessariamente possuir o certificado instalado quando o HTTPS é encerrado no proxy reverso.
Exemplo de configuração
Considerando os seguintes parâmetros:
| Item | Configuração |
|---|---|
| Domínio | https://api.exemplo.com.br:36400 |
| Porta HTTPS | 36400 |
| Porta interna | 8152 |
| Servidor | IIS |
A comunicação será realizada da seguinte forma:
Cliente | | HTTPS :36400 v IIS | | Proxy Reverso v Aplicação :8152
Quando o cliente realizar uma requisição:
https://api.exemplo.com.br:36400/pessoas
o IIS receberá a requisição HTTPS e encaminhará internamente:
http://localhost:8152/pessoas
A resposta da aplicação retornará ao IIS, que será responsável por devolvê-la ao cliente através da conexão HTTPS.
Segurança
A porta utilizada pela aplicação internamente, como a 8152, não deve ser disponibilizada diretamente para a Internet quando a aplicação estiver sendo publicada através de um proxy reverso.
O acesso externo deve ser realizado pelo endereço HTTPS configurado no proxy.
Dessa forma, o acesso esperado é:
Cliente | | HTTPS :36400 v IIS | | HTTP interno v Aplicação :8152
A porta interna pode ser protegida através das configurações de firewall e rede do ambiente.
Quando o IIS e a aplicação estão no mesmo servidor, a comunicação entre o proxy e a aplicação pode ocorrer internamente através de HTTP, pois essa comunicação não é realizada diretamente pela Internet.
Caso o proxy reverso e a aplicação estejam em servidores diferentes, deve ser avaliada a necessidade de utilizar HTTPS também na comunicação interna.
Outras soluções
O IIS é apenas uma das soluções que podem ser utilizadas para implementar essa arquitetura.
Também podem ser utilizados outros servidores e ferramentas que possuam suporte a HTTPS e proxy reverso, como:
- Nginx;
- Apache;
- Traefik;
- Outros gateways ou servidores compatíveis.
Independentemente da tecnologia utilizada, o conceito permanece o mesmo:
Cliente | | HTTPS :36400 v Proxy Reverso | | Comunicação interna v Aplicação :8152
O componente responsável pelo proxy recebe a conexão HTTPS, utiliza o certificado SSL/TLS configurado e encaminha a requisição para a aplicação.
Certificado
Verificar:
- Se o certificado corresponde ao domínio;
- Se o certificado está dentro do prazo de validade;
- Se a cadeia de certificados está correta;
- Se o certificado é reconhecido como válido pelo cliente.
HTTPS
Testar o acesso através do endereço configurado:
https://api.exemplo.com.br:36400
Aplicação
Verificar se a aplicação está executando e respondendo na porta interna:
http://localhost:8152
Proxy Reverso
Verificar se as requisições recebidas pelo IIS estão sendo encaminhadas corretamente para a aplicação.
Rede
Verificar se a porta interna utilizada pela aplicação não está exposta desnecessariamente para acesso externo.
Renovação do Certificado
Quando o certificado SSL estiver próximo do vencimento ou precisar ser substituído, a alteração deverá ser realizada no componente responsável pelo HTTPS.
No cenário utilizando IIS:
- Obter o novo certificado.
- Instalar o certificado no servidor.
- Acessar o IIS.
- Localizar o Binding HTTPS configurado na porta 36400.
- Associar o novo certificado ao domínio.
- Salvar a configuração.
- Validar o acesso HTTPS.
A aplicação que continua executando na porta interna não precisa necessariamente ser alterada, pois o certificado é utilizado pelo IIS.
Considerações
A configuração do SSL não está necessariamente vinculada à aplicação.
O SSL/TLS pode ser tratado por uma camada de infraestrutura localizada antes da aplicação. Essa camada pode ser o IIS, Nginx, Apache, Traefik ou outra solução equivalente.
A arquitetura pode ser dividida em duas camadas:
Camada externa
Responsável por:
- Domínio;
- HTTPS;
- Certificado SSL/TLS;
- Porta 36400;
- Controle de acesso;
- Proxy reverso.
Camada interna
Responsável por:
- Execução do serviço;
- Porta da aplicação;
- Processamento das requisições;
- Regras de negócio.
No cenário utilizado pela PHSYS, o IIS é um exemplo de componente utilizado para realizar essa separação. A aplicação permanece executando internamente, enquanto o IIS disponibiliza o acesso externo seguro e encaminha as requisições para o serviço.
Conclusão
A utilização de um proxy reverso permite disponibilizar aplicações através de HTTPS sem que o certificado SSL precise necessariamente ser configurado diretamente no serviço da aplicação.
No cenário utilizando IIS, o certificado e o acesso HTTPS ficam sob responsabilidade do IIS, enquanto a aplicação permanece executando internamente em sua própria porta.
Essa arquitetura permite separar a infraestrutura de acesso externo da aplicação, facilitando o gerenciamento de certificados, domínios, HTTPS e regras de acesso.