# Board CyberSecurity

Proxy Reverso é parte fundamental da internet.
Em uma rede de computadores, um proxy reverso básico fica entre um grupo de servidores e os clientes que desejam usá-los. Cliente é qualquer hardware ou software que pode enviar solicitações para um servidor. Por exemplo, o navegador da Web é o cliente que usamos para acessar um site da empresa, hospedado em nossos servidores. O proxy reverso traz todos os pedidos dos clientes para os servidores e também entrega todas as respostas e os serviços dos servidores aos clientes. Do ponto de vista do cliente, isso faz parecer que tudo está vindo de um só lugar.
Algumas de suas vantagens são:
• Segurança – Se você tem uma camada antes de chegar ao seu servidor, você pode incluir um firewall ou algo do gênero para verificar se tal requisição é ou não segura o suficiente para chegar ao ser web server.
• Balanceamento de Carga – Um proxy reverso é inteligente o suficiente para fazer o que chamamos de Balanceamento de Carga.
• Cache – Você pode colocar um cache no seu proxy reverso, para que, caso a requisição que ele devolva não necessite de nenhum processamento no web server, o pró
• Criptografia SSL – A criptografia SSL pode ser delegada ao próprio servidor proxy, ao invés dos servidores Web. Neste caso, o servidor proxy pode ser dotado de aceleradores criptográficos de alta performance;
Compressão – Um servidor proxy pode otimizar e comprimir o conteúdo tornando o acesso mais rápido;

Como primeiro passo será utilizado o flask que fornece ao desenvolvedor os recursos necessários para criar a aplicação web. Ele oferece aos desenvolvedores controle e flexibilidade para o desenvolvimento.
Em seguida vamos atualizar o índice local de pacotes e instalar os pacotes que irão nos permitir construir nosso ambiente Python.
**`sudo apt update`**
Como segundo passo será criado o ambiente virtual em Python.
O módulo venv fornece suporte para a criação de “ambientes virtuais” leves com seus próprios diretórios de site, opcionalmente isolados dos diretórios de site do sistema.

Repare que agora temos (venv) no início do nosso terminal indicando que estamos no ambiente virtual.
Logo após precisamos fazer a instalação do Flask com os seguintes comandos:
******pip install flask******

Feito a instalacão do Flask, vamos verificar se está tudo certo e qual a versão.
******python -c "import flask; print(flask.version)"******

A versão atual, no momento que foi feito essa documentação é 2.1.2
Agora já temos o necessário para escrever o nosso primeiro código em Flask.
# Passo 2
# Criando um aplicativo base
Agora que você tem seu ambiente de programação configurado, você começará a usar o Flask. Neste passo, você criará um aplicativo Web pequeno dentro de um arquivo Python e o executará para iniciar o servidor, que mostrará informações no navegador.
Em seu diretório flask_blog, abra um arquivo chamado **hello.py** para editá-lo. Use o nano ou seu editor de texto favorito:

Este arquivo **hello.py** servirá como um exemplo mínimo de como processar solicitações HTTP. Dentro dele, você importará o objeto Flask e criará uma função que retorna uma resposta HTTP. Escreva o seguinte código dentro do **hello.py**:

No bloco de código anterior, importe o objeto Flask do pacote flask. Em seguida, use-o para criar sua instância de aplicativo Flask com o nome app. Passe a variável especial __name__ que guarda o nome do módulo Python atual. Ela é usada para dizer à instância onde ela está localizada. Isso é necessário, pois o Flask configura alguns caminhos sem que você veja.
Assim que criar a instância app, use-a para processar solicitações Web de entrada e enviar respostas ao usuário. O **@app.route** é um decorador que transforma uma função Python comum em uma função de visualização Flask. Ela converte o valor de retorno da função em uma resposta HTTP para ser mostrada por um cliente HTTP, como um navegador Web. Passe o valor '/' para **@app.route()** para indicar que esta função responderá às solicitações Web para a URL /, que é a URL principal.
# Passo 3
# Função de Visualização
Para executar seu aplicativo Web, diga primeiro ao Flask onde encontrar o aplicativo (o arquivo helly.py no seu caso) com a variável de ambiente FLASK_APP:

Em seguida, vamos executar em modo de desenvolvimento com a variável de ambiente FLASK_ENV:

Por último, executamos o aplicativo utilizando o comando flask run:

Assim que o aplicativo estiver em execução, o resultado será algo parecido com isto:

O resultado anterior tem várias informações, como:
O nome do aplicativo que você está executando.
O ambiente em que o aplicativo está sendo executado.
Debug mode: on mostra que o depurador Flask está funcionando. Isso é bastante útil no processo de desenvolvimento, pois nos envia mensagens de erro detalhadas quando as coisas dão errado, facilitando assim, a resolução de problemas.
O aplicativo está funcionando localmente na URL http://127.0.0.1:5000/, 127.0.0.1 é o IP que representa o localhost da nossa máquina e :5000 é o número da porta.
Vamos abrir um navegador e digitar na URL http://127.0.0.1:5000/. Com isso vamos receber a string Hello, World! como uma resposta. Isso confirma que nosso aplicativo está funcionando corretamente.


