Configuração de cliente CRM 4.0 para Outlook em ambiente com Proxy Server


Em ambiente de rede com acesso à internet via Servidor Proxy, será necessário configurar em conformidade.


 


Opção 1: > Detecção Automática de Definições



 


Esta opção deverá ser a preferencialmente utilizada em todos os ambientes. Devendo ser primeiramente testada antes de qualquer outra configuração.


 


Opção 2: > Servidor Proxy, ISA ou outro configurado.


 


Poderá ser sempre deixado do lado do Administrador do Sistema a tarefa de configurar no próprio Servidor Proxy (ISA ou outro) o encaminhamento (directo ou não) dos acessos ao Servidor CRM.


Desta forma, o Administrador do Sistema deverá configurar o mesmo em conformidade.


 


 


Opção 3: > Servidor Proxy existente na rede local


 


 


Activar a caixa “Bypass Proxy server for local Addresses”. Desta forma o Internet Explorer e o Cliente CRM para Outlook acederão ao Servidor CRM directamente, sendo que será detectado que o mesmo pertence à rede local e, assim, não será encaminhado qualquer pedido pelo Servidor Proxy.


 


Opção 4: > Servidor Proxy existente. Excepções.



 


Em algumas situações, será necessário adicionar referências ao servidor CRM para que este seja considerado excepção ao acesso pelo Servidor Proxy.


Para isso, será necessário adicionar à lista de “Exceptions” uma das opções: o nome do Servidor CRM, o seu Endereço IP ou uma regra que apanhe todas as máquinas desse domínio do Servidor CRM (neste exemplo seria: crmserver.mycrmdomain.com).



 


Opção 5: > Servidor Proxy com ficheiro de configuração automática (PAC)



 


Neste caso, as regras de acesso à internet pelo Servidor Proxy são definidas num ficheiro de configuração (PAC – Proxy Automatic Configuration) existente no Servidor.


Sendo que, em certas situações (tal como as referidas no ponto 3 deste artigo) será necessário adicionar linhas de referência ao Servidor CRM.


 


== EXEMPLO DE FICHEIRO PROXY.PAC ==========


function FindProxyForURL(url, host)


{


                // Excepções para acesso directo sem proxy. Determinado pelo IP de origem.


  if (


isInNet(host, "127.0.0.0",    "255.0.0.0")         ||


isInNet(host, "172.16.0.0",   "255.240.0.0")   ||


                isInNet(host, "192.168.0.0",  "255.255.0.0")  


)    return "DIRECT";   


                // Caso contrário, o acesso será via Servidor Proxy


  else {


                return "PROXY myproxy.myowndomain.com:3128";


  }


}


==========================================


 



 


 


Alterando o ficheiro em conformidade, para o Servidor CRM de nome ‘crmserver’, teremos:


 


== EXEMPLO DE FICHEIRO PROXY.PAC ALTERADO ==


function FindProxyForURL(url, host)


{


                // Excepção adicionada para o Servidor CRM


  if(isPlainHostName("crmserver"))  {


return "DIRECT";


  }


                // Excepções para acesso directo sem proxy. Determinado pelo IP de origem.


  if (


isInNet(host, "127.0.0.0",    "255.0.0.0")         ||


isInNet(host, "172.16.0.0",   "255.240.0.0")   ||


                isInNet(host, "192.168.0.0",  "255.255.0.0")  


)    return "DIRECT";   


                // Caso contrário, o acesso será via Servidor Proxy


  else {


                return "PROXY myproxy.myowndomain.com:3128";


  }


}


==========================================


 


Na função FindProxyForURL podem ser utilizadas várias formas de fazer testes à excepção ao servidor proxy a configurar. Aqui ficam alguns exemplos de fazer a configuração:


 


// shExpMatch -  Definir excepção através de uma expressão comum.


if (shExpMatch(url, "*. myowndomain.com*"))   {          return "DIRECT";             }             


// isPlainHostName -  Definir excepção através do nome do servidor.


if(isPlainHostName("crmservername"))                              {              return "DIRECT";             }


// dnsDomainis -  Definir excepção através do domínio do servidor.


if(dnsDomainis(host,".myowndomain.com"))  {              return "DIRECT";             }


// isResolvable -  Definir excepção através da resolução de DNS. Se for resolvido, o acesso é directo.


if(isResolvable(host))                                                   {              return "DIRECT";             }


 


 


mais exemplos e opções na referência Technet:


http://technet.microsoft.com/en-us/library/dd361950.aspx


 



 


 


Nota para CRM 3 em ambiente com ficheiro de configuração PROXY.PAC: >


 


O binário do CRM utiliza bibliotecas de .NET que utilizam o acesso Web de forma diferente. Em ambiente com ficheiro de configuração Proxy.PAC, será necessário criar um ficheiro de texto, na pasta:


 


C:\Program Files\Microsoft Dynamics CRM\Client\res\web\bin


 


Com o nome:


 


Microsoft.Crm.Application.Hoster.exe.config


 


Em que o seu conteúdo será o seguinte, substituindo o URL pelo do servidor onde se encontra o ficheiro Proxy.pac.


 


<?xml version="1.0" encoding="utf-8"?>


<configuration>


<system.net>


<defaultProxy enabled="true" useDefaultCredentials="true" >


<proxy autoDetect="True" scriptLocation="http://url/script.pac"/>


</defaultProxy>


</system.net>


</configuration>


 


Após a criação deste ficheiro, verificar no Task Manager se o processo “Microsoft.Crm.Application.Hoster.exe” está em execução.


Se estiver, terminá-lo e voltar a abrir o Outlook, verificando o seu funcionamento.


 


Este post é publicado “AS IS” sem garantias e não confere nenhuns direitos.


 


Gonçalo Antunes


 

Skip to main content