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