Este artigo apresenta um exemplo de como configurar o IIS (Internet Information Services) para funcionar como proxy reverso com o EPM Portal. Com essa configuração, o usuário pode acessar o portal via um endereço amigável e unificado, como:
https://epm.empresa.com.br
O IIS redirecionará automaticamente as requisições para os endpoints corretos do EPM Portal.
Pré-requisitos: Instalação dos módulos no IIS
Antes de configurar o proxy reverso, certifique-se de que os seguintes módulos estejam instalados no IIS:
✅ 1. URL Rewrite
- 
Permite reescrever URLs e aplicar regras de redirecionamento. 
✅ 2. ARR (Application Request Routing)
- 
Responsável pelo encaminhamento das requisições HTTP para os servidores de destino. 

Importante:
Instale primeiro o URL Rewrite, e somente depois o ARR, para garantir a correta integração dos módulos.
Verifique se ambos aparecem na lista de programas instalados no Painel de Controle do Windows. Caso contrário, faça o download diretamente do site oficial da Microsoft.
Módulos obrigatórios
Configurações gerais
Para fins didáticos, o exemplo a seguir será realizado localmente, simulando o acesso ao EPM Portal via um domínio personalizado.
Em ambientes reais, a equipe de TI deve adaptar o procedimento conforme os requisitos da rede e segurança corporativa.
Configurando o arquivo HOSTS do Windows
- 
Abra o bloco de notas como administrador (Run as Administrator); 
- 
Edite o arquivo: 
- 
Adicione a seguinte linha: 
Essa linha redireciona o domínio epm.empresa.com.br para a própria máquina local, permitindo testar a configuração do proxy reverso antes da publicação externa.

Configuração do arquivo settings.json do EPM Web Server
Além da edição do arquivo hosts, é necessário ajustar manualmente o arquivo de configuração do EPM Web Server, para que o IIS consiga redirecionar corretamente as requisições para o serviço de Web API.
Etapas:
- 
Abra o Notepad como Administrador (Run as Administrator); 
- 
Acesse o arquivo: 
- 
Localize a chave de configuração e adicione a seguinte linha ao objeto JSON: 
- 
Salve e feche o arquivo. 
Este parâmetro informa ao servidor que os endpoints da Web API devem ser acessados a partir do caminho
/webapi, o que é essencial para a correta reescrita de URL pelo IIS.

Configuração de certificado HTTPS para o IIS (Proxy Reverso)
Neste exemplo, vamos configurar um certificado autoassinado apenas para fins didáticos. Este certificado será utilizado na comunicação entre o IIS e o navegador.
⚠ Importante: em ambientes de produção, utilize um certificado válido emitido por uma Autoridade Certificadora (CA) confiável, como CertiSign, DigiCert, GoDaddy ou Let’s Encrypt.
1. Criar certificado autoassinado via PowerShell
Abra o PowerShell como Administrador e execute o seguinte comando:
2. Importar o certificado como confiável
- 
Pressione Win + R, digitemmce pressione Enter;
- 
Vá em File > Add/Remove Snap-in…; 
- 
Selecione Certificates, clique em Add; 
  
- 
Escolha Computer account, depois Local Computer > Finish > OK; 
- 
Navegue até: 
 Certificates (Local Computer) > Personal > Certificates
- 
Exporte o certificado recém-criado: - 
Clique com o botão direito sobre ele; 
- 
All Tasks > Export…; 
- 
Escolha No, do not export the private key; 
- 
Formato: DER encoded binary X.509 (.CER); 
- 
Salve o arquivo em: C:\IIS_EPMPortal.
 
- 
- 
Importe o certificado para: - 
Clique com o botão direito em Certificates > All Tasks > Import…; 
- 
Selecione o arquivo .cersalvo anteriormente.
 
- 
Com essa configuração, o navegador reconhecerá o certificado como confiável, permitindo o acesso HTTPS ao domínio simulado https://epm.empresa.com.br.
Certificado entre o IIS e o EPM Portal
Além do certificado utilizado entre o navegador e o IIS, também é necessário configurar o certificado que será usado na conexão entre o IIS (proxy reverso) e o EPM Portal/Web Server.
1. Copiar os certificados padrão do EPM
Localize os arquivos de certificado gerados na instalação do EPM:
- 
C:\Program Files\Elipse Software\EpmWebServer\WebServerService\epm.crt
- 
C:\Program Files\Elipse Software\EpmWebServer\WebServerService\epm.key
Copie esses arquivos para a pasta já criada:

2. Importar o certificado no MMC
Para que o IIS confie na conexão HTTPS com o EPM Web Server:
- 
No Microsoft Management Console (mmc) já aberto: - 
Navegue até: Certificates (Local Computer) > Trusted Root Certification Authorities > Certificates
 
- 
- 
Clique com o botão direito em Certificates > All Tasks > Import…; 
  
- 
Selecione o arquivo epm.crtcopiado paraC:\IIS_EPMPortal;
    
- 
Conclua o assistente clicando em Finish. 
⚠ Em ambientes reais, utilize um certificado assinado por uma CA, substituindo os arquivos
epm.crteepm.key.
Configurando o ARR (Application Request Routing)
1. Acessar o IIS Manager
- 
Abra o Internet Information Services (IIS) Manager; 
- 
Selecione o nó raiz do servidor; 
- 
Clique duas vezes em Application Request Routing Cache. 

2. Ativar o modo proxy
- 
No menu lateral direito, clique em “Server Proxy Settings…”; 
- 
Marque a opção “Enable proxy”; 
- 
Clique em Apply para salvar as alterações. 

3. Ajustar codificação de URL nas regras
- 
Retorne ao nó raiz do IIS; 
- 
Clique duas vezes em Configuration Editor;  Passo 1:system.webServer/rewrite/Rules
- 
Na seção Section, selecione: 
- 
Defina a propriedade:
Passo 2: system.webServer/rewrite/globalRules
- Na seção Section, selecione:
 system.webServer/rewrite/globalRules
- Defina a propriedade:
 useOriginalURLEncoding = False
4. Reiniciar o IIS
Para aplicar as alterações:
- 
Selecione o item raiz do servidor no IIS; 
- 
No painel lateral, clique em Restart; 
Criação do site e configuração das regras de URL Rewrite
1. Criar o site no IIS
- 
No IIS Manager, clique com o botão direito em Sites; 
- 
Selecione Add Website…. 

2. Configurar o novo site
Preencha os campos conforme o exemplo:
- 
Site name: EPM Portal
- 
Physical path: C:\IIS_EPMPortal(pasta onde estão os certificados)
- 
Binding type: HTTPS
- 
Host name: epm.empresa.com.br
- 
SSL certificate: selecione o certificado gerado via PowerShell anteriormente. 
Clique em OK para criar o site.

Configurando o URL Rewrite no IIS
Após criar o site “EPM Portal”, configuraremos as regras de reescrita que direcionarão as chamadas recebidas para os serviços corretos do EPM Web Server.
1. Acessar o módulo URL Rewrite
- 
No IIS Manager, selecione o site EPM Portal; 
- 
Clique duas vezes em URL Rewrite; 
- 
No painel lateral, clique em Add Rules…; 
- 
Selecione Blank Rule (entrada em branco). 

2. Criar regra: Auth_Rewrite
- 
Name: Auth_Rewrite
- 
Pattern: ^auth/(.*)?
- 
Action Type: Rewrite
- 
Rewrite URL: 
- 
Confirme com Apply, depois clique em Back to Rules. 
🔒 Essa regra redireciona as requisições de autenticação para a porta 44333, onde o serviço de autenticação do EPM Web Server está escutando.

3. Criar regra: WebAPI_Rewrite
- 
Name: WebAPI_Rewrite
- 
Pattern: ^webapi/(.*)?
- 
Action Type: Rewrite
- 
Rewrite URL: 
- 
Confirme e volte para a lista de regras. 
🔄 Esta regra trata o endpoint da Web API, que responde na porta 44332.
4. Criar regra: Default_Rewrite
- 
Name: Default_Rewrite
- 
Pattern: ^(.*)
- 
Action Type: Rewrite
- 
Rewrite URL: 
- 
Desmarque a opção “Stop processing of subsequent rules”. 
🌐 Essa regra cobre todas as demais URLs que não foram capturadas pelas anteriores. A porta 44331 corresponde ao EPM Portal.
5. Ordenar as regras
Certifique-se de que a ordem das regras no IIS seja:
- 
Auth_Rewrite
- 
WebAPI_Rewrite
- 
Default_Rewrite
A ordem é fundamental para o correto funcionamento do proxy reverso.

Configuração do EPM Web Server e do EPM Portal
1. Configurar o EPM Web Server
- 
Abra o EPM Web Server Manager > clique com o botão direito > Settings. 
- 
Na aba General, configure: - 
Certificate Path: caminho para o epm.crtemC:\IIS_EPMPortal;
- 
Key Path: caminho para o epm.keyna mesma pasta.
 
- 
- 
Clique em Apply.  
- 
Na aba Authentication: - 
Em New Address, adicione: 
- 
Clique para incluir na lista de redirects; 
- 
Habilite Public Origin e insira o mesmo endereço; 
- 
Clique em Apply e depois em OK. 
 
- 

2. Configurar o EPM Portal
- 
Abra o EPM Portal Manager > clique com o botão direito > Settings. 
- 
Configure os caminhos para o certificado .crte chave.keyda mesma forma.
- 
Nos campos: - 
WebAPI Endpoint: 
- 
Authentication Endpoint: 
 
- 
- 
Clique em Apply e depois em OK. 

Testando o acesso
Abra um navegador e acesse:
Como estamos utilizando certificado autoassinado, o navegador pode exibir um aviso de segurança. Clique em Advanced e depois Proceed para continuar.


⚠ Importante: para ambientes de produção, utilize certificados válidos assinados por uma Autoridade Certificadora (CA) para garantir a confiabilidade da conexão e evitar avisos no navegador.



