# Proxy autenticado

<div class="sc-5c288602-2 dBkKdk" id="bkmrk-alguns-clientes-da-o">Alguns clientes da Oystr têm preferido configurar um proxy autenticado em vez de utilizar uma VPN. Essa abordagem permite que nossos robôs do Presto se conectem à infraestrutura do cliente de forma segura e eficiente.</div>### <span data-lexical-text="true">Passo a Passo para Configuração do Proxy</span>

### <span data-lexical-text="true">1. Rodar o container com o proxy</span>

<span data-lexical-text="true">O cliente deve rodar o seguinte comando em sua máquina, utilizando nosso container pré-configurado:</span>

<div class="sc-5c288602-3 doXPOt" id="bkmrk-docker-run---name-pr"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">`<span data-lexical-text="true">docker run </span><span class="ug_article_tokenOperator" data-lexical-text="true">--</span><span data-lexical-text="true">name proxy </span><span class="ug_article_tokenOperator" data-lexical-text="true">-</span><span data-lexical-text="true">v </span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">opt</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">oystr</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">opt</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">oystr</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span> <span class="ug_article_tokenOperator" data-lexical-text="true">-</span><span data-lexical-text="true">p </span><span class="ug_article_tokenProperty" data-lexical-text="true">8888</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span class="ug_article_tokenProperty" data-lexical-text="true">8888</span> <span class="ug_article_tokenOperator" data-lexical-text="true">-</span><span data-lexical-text="true">d leandrocruz</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">oystr</span><span class="ug_article_tokenOperator" data-lexical-text="true">-</span><span data-lexical-text="true">tinyproxy</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span data-lexical-text="true">v1</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">.</span><span class="ug_article_tokenProperty" data-lexical-text="true">0.0</span>`</div></div></div></div></div><span data-lexical-text="true">Esse comando irá:</span>

<div class="sc-5c288602-3 doXPOt" id="bkmrk-criar-e-rodar-um-con"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">- <span data-lexical-text="true">Criar e rodar um container chamado </span>`<span class="ug_article_textCode">proxy</span>`<span data-lexical-text="true">;</span>
- <span data-lexical-text="true">Mapear a pasta local </span>`<span class="ug_article_textCode">/opt/oystr</span>`<span data-lexical-text="true"> para dentro do container;</span>
- <span data-lexical-text="true">Expor a porta </span>`<span class="ug_article_textCode">8888</span>`<span data-lexical-text="true"> para acesso externo.</span>

</div></div></div></div></div>### <span data-lexical-text="true">2. Criar o arquivo de configuração</span>

<span data-lexical-text="true">Na pasta local </span>`<span class="ug_article_textCode">/opt/oystr</span>`<span data-lexical-text="true"> o cliente deve criar um arquivo chamado </span>`<strong class="ug_article__textBold ug_article_textCode">tinyproxy.cfg</strong>`<span data-lexical-text="true"> com o seguinte conteúdo:</span>

<div class="sc-5c288602-3 doXPOt" id="bkmrk-port-8888-listen-0.0"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">`<span data-lexical-text="true">Port </span><span class="ug_article_tokenProperty" data-lexical-text="true">8888</span><span data-lexical-text="true">Listen </span><span class="ug_article_tokenProperty" data-lexical-text="true">0.0</span><span class="ug_article_tokenProperty" data-lexical-text="true">.0</span><span class="ug_article_tokenProperty" data-lexical-text="true">.0</span><span data-lexical-text="true">Timeout </span><span class="ug_article_tokenProperty" data-lexical-text="true">600</span><span data-lexical-text="true">DisableViaHeader Yes</span><span data-lexical-text="true">BasicAuth oystr</span><span class="ug_article_tokenOperator" data-lexical-text="true">-</span><span data-lexical-text="true">bot </span><span class="ug_article_tokenProperty" data-lexical-text="true">SENHA</span>`</div></div></div></div></div><span data-lexical-text="true">O container roda um proxy http autenticado na porta 8888</span>

**Importante:**

<div class="sc-5c288602-3 doXPOt" id="bkmrk-senha-deve-ser-subst"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">- **SENHA**<span data-lexical-text="true"> deve ser substituída pela senha de autenticação que o cliente deverá criar e nos informar para ser usado pela nossa solução para autenticar os robôs na infraestrutura do cliente.</span>
- <span data-lexical-text="true">A configuração define que o proxy ficará escutando na porta </span>`<span class="ug_article_textCode">8888</span>`<span data-lexical-text="true"> em todas as interfaces de rede (</span>`<span class="ug_article_textCode">0.0.0.0</span>`<span data-lexical-text="true">).</span>

</div></div></div></div></div>### <span data-lexical-text="true">3. Garantir o acesso externo</span>

<span data-lexical-text="true">A porta </span>**8888**<span data-lexical-text="true"> precisa estar publicamente acessível na infraestrutura do cliente, para que os robôs do Presto consigam se conectar ao proxy.</span>

### <span data-lexical-text="true">4. Testar o funcionamento do proxy</span>

<span data-lexical-text="true">Após a configuração, o cliente deve executar o seguinte comando para verificar se o proxy está funcionando corretamente:</span>

<div class="sc-5c288602-3 doXPOt" id="bkmrk-curl---proxy-http%3A%2F%2F"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">`<span data-lexical-text="true">curl </span><span class="ug_article_tokenOperator" data-lexical-text="true">--</span><span data-lexical-text="true">proxy http</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">oystr</span><span class="ug_article_tokenOperator" data-lexical-text="true">-</span><span data-lexical-text="true">bot</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span class="ug_article_tokenProperty" data-lexical-text="true">SENHA</span><span data-lexical-text="true">@</span><span class="ug_article_tokenProperty" data-lexical-text="true">IP</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span class="ug_article_tokenProperty" data-lexical-text="true">8888</span> <span data-lexical-text="true">http</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span class="ug_article_tokenOperator" data-lexical-text="true">/</span><span data-lexical-text="true">ipinfo</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">.</span><span data-lexical-text="true">io</span>`</div></div></div></div></div>**Substitua:**

<div class="sc-5c288602-3 doXPOt" id="bkmrk-senha-pela-senha-de-"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">- `<span class="ug_article_textCode">SENHA</span>`<span data-lexical-text="true"> pela senha de autenticação fornecida;</span>
- `<span class="ug_article_textCode">IP</span>`<span data-lexical-text="true"> pelo endereço IP público ou interno da máquina onde o proxy foi configurado (ou do gateway).</span>

</div></div></div></div></div><span data-lexical-text="true">Se o comando retornar um </span>**JSON com as informações do IP da infraestrutura do cliente**<span data-lexical-text="true">, significa que o proxy está configurado corretamente.</span>

### <span data-lexical-text="true">✅ Exemplo de retorno esperado:</span>

<div class="sc-5c288602-3 doXPOt" id="bkmrk-%7B-%22city%22%3A-%22s%C3%A3o-paulo"><div class="sc-303efdb-2 ffiobp"><div class="sc-303efdb-0 cKbzoO editor-scroller"><div class="sc-303efdb-1 uXsva editor"><div aria-autocomplete="none" aria-readonly="true" contenteditable="false" data-lexical-editor="true" role="textbox" spellcheck="true">`<span class="ug_article_tokenPunctuation" data-lexical-text="true">{</span>    <span data-lexical-text="true">"city"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"São Paulo"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"country"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"BR"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"hostname"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"customer.splobra1.pop.starlinkisp.net"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"ip"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"216.234.208.75"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"loc"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"-23.5475,-46.6361"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"org"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"AS14593 Space Exploration Technologies Corporation"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"postal"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"01000-000"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"readme"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"https://ipinfo.io/missingauth"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"region"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"São Paulo"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">,</span>    <span data-lexical-text="true">"timezone"</span><span class="ug_article_tokenOperator" data-lexical-text="true">:</span> <span class="ug_article_tokenSelector" data-lexical-text="true">"America/Sao_Paulo"</span><span class="ug_article_tokenPunctuation" data-lexical-text="true">}</span>`</div></div></div></div></div>### <span data-lexical-text="true">⚠️ Importante</span>

<span data-lexical-text="true">Enquanto esse teste não for bem-sucedido, os </span>**robôs do Presto não conseguirão utilizar o proxy do cliente**<span data-lexical-text="true">.</span>

### <span data-lexical-text="true">Suporte</span>

<span data-lexical-text="true">Em caso de dúvidas ou dificuldades durante a configuração, entre em contato com nosso time de suporte técnico.</span>