Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O caminho do arquivo de configuração pode variar de acordo com o ambiente, no exemplo temos um arquivo chamado ptu.conf dentro da pasta: /etc/nginx/conf.d/


Na Parte 1” temos  temos um exemplo da configuração do Nginx.

...

Isto indica que está funcionando a “conversa” entre o proxy reverso e a Unimed Brasil, caso o retorno seja outro é necessário revisar a configuração.


Na Parte 2” temos  temos um exemplo da alteração de configuração necessária para o Foundation Saúde utilizar o Proxy Reverso nas mensagens de saída.

...

Após isto é necessário reiniciar o jboss, se o teste do curl funcionou, a configuração vai funcionar.



Parte 1 - configuração Nginx

server {
#adicionar o IP do servidor onde está o nginx e a porta, exemplo 192.168.0.50
   listen      x.x.x.x:80;

#Adicionar o endereço que será usado para chegar até o ptu
   server_name enderecoptu.unimednordesters.com.br;
   return      301 https://$server_name$request_uri;
}

server {
#Alterar pelo IP do jboss do PTU, caso ncessário alterar a porta de 443 para a que está sendo usada
listen x.x.x.x:443 ssl;

#Adicionar o endereço que será usado para chegar até o ptu
server_name enderecoptu.unimednordesters.com.br;

proxy_ssl_server_name on;

#colocar aqui o caminho do arquivo certificado crt da unimed
ssl_certificate /certificado/certificado-unimed.crt;

#colocar aqui o caminho do arquivo da chave do certificado da unimed
ssl_certificate_key /opt/certificad-unimed.key;

#colocar aqui o certificado recebido da unimed brasil
ssl_client_certificate /opt/certificado-unimed-brasil.pem;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

  ssl_verify_client off;
ssl_prefer_server_ciphers on;
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 128;

#caminho dos logs
error_log /var/log/nginx/ptu.error.log;
access_log /var/log/nginx/ptu.access.log;

location / {
       proxy_set_header X-Real-IP                 $remote_addr;
       proxy_set_header X-Forwarded-For           $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto         https;
       proxy_set_header X-Forwarded-Host          $http_host;
       proxy_set_header Host                      $http_host;

#colocar aqui o endereco IP HTTP do jboss do ptu, colocar a porta se necessário, exemplo: 192.168.0.50:8443
       proxy_pass                                 http://x.x.x.x;
}

location /htz-foundation {
#colocar aqui o certificado recebido da unimed brasil nos formatos do exemplo
       proxy_ssl_certificate                   /opt/certificado-unimed-brasil.pem;
       proxy_ssl_certificate_key               /opt/certificado-unimed-brasil.key;
       proxy_set_header X-SSL-CERT             /opt/certificado-unimed-brasil.pem;
       proxy_set_header X-Real-IP              $remote_addr;
       proxy_set_header X-Forwarded-Host       $http_host;
       proxy_set_header Host                   $http_host;
       proxy_ssl_verify                        off;
       proxy_ssl_verify_depth                  2;

#Adicionar o endereço https do jboss do ptu, colocar a porta se necessário, exemplo: 192.168.0.50:8443
       proxy_pass                              https://x.x.x.x;
       proxy_ssl_ciphers                       HIGH:!DH;
}
}

server {
#Porta que será em que este serviço será disponibilizado, a porta pode ser qualquer uma livre
listen   localhost:9999;

#caminho dos logs
   error_log /var/log/nginx/ptup-unimedcoop-error.log;
   access_log /var/log/nginx/ptup-unimedcoop-access.log;

#Endereço da aplicação, neste caso é localhost porque o jboss esta no mesmo servidor do jboss
   server_name  localhost;

# Certificado do proxy (PTU -> Nginx)
ssl_certificate /opt/certificad-unimed.crt;
   ssl_certificate_key /opt/certificad-unimed.key;
proxy_ssl_certificate /opt/certificado-unimed-brasil.pem;
proxy_ssl_certificate_key /opt/certificado-unimed-brasil.key;

# Protocolos aceitos pelo proxy (PTU -> Nginx)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
   proxy_ssl_ciphers             HIGH:!aNULL:!MD5;

#Aqui é forçado o envio usando TLS 1.2
proxy_ssl_protocols TLSv1.2;

   proxy_ssl_verify_depth 2;
   proxy_ssl_server_name on;

   # Enviar as requisições recebidas para o Foundation
location / {
#Url da unimed do brasil de produção, protótipo é https://wsdapihml.unimed.coop.br;
proxy_pass https://wsdapi.unimed.coop.br;
   }
}