Evite problemas de SOP, combine origens, serviços de proxy, use SSL, HTTP2, SSI e muito mais… durante o desenvolvimento!
Instalação | Uso | Configuração | Exemplos de projetos | Suporte | Registro de alterações
Proxrox é um utilitário de linha de comando que inicia uma instância local do Nginx para servir arquivos estáticos, fazer proxy de um ou mais serviços em uma única origem, usar SSL localmente e, geralmente, para obter um ambiente de desenvolvimento semelhante a um ambiente de produção.
Proxrox consegue isso usando Nginx. Quando o proxrox for solicitado a iniciar um servidor, ele criará um arquivo de configuração Nginx em um local temporário e iniciará uma instância Nginx usando esse arquivo de configuração. Isso significa que o proxrox pode, teoricamente, suportar todos os recursos do Nginx.
Você também pode usar o Proxrox para depurar aplicativos da web, conforme mostrado na apresentação a seguir.
DR; npm install -g proxrox
. O Nginx precisa estar no $PATH
e ser executável sem privilégios de superusuário.
Instruções detalhadas de instalação podem ser encontradas em INSTALLATION.md.
Inicie o proxrox usando um arquivo de configuração local. O formato e as opções suportadas são explicados no arquivo CONFIGURATION.md.
proxrox start .proxrox.yaml
Pare as instâncias Nginx em execução (para todas):
proxrox stop
A experiência tem mostrado que a definição de opções através de arquivos de configuração, por exemplo, .proxrox.yaml
, é a opção mais comumente usada. Exemplos de projetos práticos com a configuração de projeto recomendada podem ser vistos no diretório de exemplos.
Os ambientes de desenvolvimento devem ser semelhantes aos ambientes de produção. Isso significa que inclusões do lado do servidor, segurança da camada de transporte, compactação e muito mais devem existir durante o desenvolvimento. Isso não é apenas importante para otimizações de velocidade da página, mas também permite que você encontre problemas de segurança antecipadamente, por exemplo, uma página segura que faz referência a conteúdo inseguro.
Quer o aplicativo seja orientado a serviços, baseado em microsserviços, com arquitetura de cliente orientada a recursos ou um aplicativo de página única, a política de mesma origem costuma ser um problema para o desenvolvimento local. As pessoas contornam esse problema de várias maneiras. Embora a maioria das equipes tenha boas práticas para ambientes de produção, os ambientes de desenvolvimento geralmente não possuem isso. As soluções que tenho visto variam desde o compartilhamento de recursos de origem cruzada para desenvolvimento local ativado por meio de sinalizadores de recursos até a desativação completa da segurança da Web em navegadores.
Muitas pessoas não conhecem ou não usam inclusões do lado do servidor. Provavelmente existem várias razões para isso. Uma coisa que percebi é que leva tempo para configurar um ambiente de desenvolvimento adequado com servidores proxy.
Algo não está funcionando como esperado? Sinta-se à vontade para entrar em contato comigo no Twitter via @BenRipkens!