Hoje em dia, em muitos cenários, solicito um host VPS para hospedar e executar um projeto da Web. Não sou exceção. Comprei uma pequena vitória 03 VPS para usar. Durante o processo de uso, enfrentamos um problema, ou seja, o mesmo tipo de ambiente do servidor é bom - mas se três tipos de projetos de servidor coexistirem com um PHP, um ASP e um JSP, como devemos alocar a única porta 80? Como os sites comerciais da WWW geralmente só podem ocupar o porto 80. É claro que, se você apenas fizer serviços, como interfaces, o uso de outras portas não entrará em conflito com a porta 80. Muitos desenvolvedores enfrentam o problema da porta 80, e a situação real será limitada por custo. Porque comprar um VPS apenas para um projeto não é econômico, não é econômico e não é conveniente gerenciar. Portanto, devemos considerar cuidadosamente como distribuí -lo a vários servidores, fornecendo uma porta 80, permitindo que hosts diferentes executem seus respectivos projetos da Web.
Caro, podemos dizer que esse requisito será realizado? Sim, isso não é uma "tecnologia mágica" ou uma tecnologia complexa. Gostaria de saber se você tem algum entendimento do "proxy reverso" nos serviços de rede, uma das funções é concluir a distribuição das portas. Podemos também usar o nome de domínio como uma rota para distribuir: qualquer solicitado pelo nome de domínio AA.com será distribuído à porta PHP 82 para execução; Qualquer solicitado pelo nome do domínio BB.com será distribuído à porta 83 ASP para execução; ... e assim por diante. Obviamente, o porto aqui é apenas para instruções. Você pode configurá -lo à vontade. De qualquer forma, a solicitação recebida da porta 80 será processada primeiro e depois distribuída. O proxy reverso, nos termos do leigo, está apenas transformando a mão esquerda na mão direita.
Sempre que o proxy reverso é mencionado, as pessoas geralmente pensam no NGINX, mas hoje ignoramos o famoso Nginx por enquanto e usamos o NodeJS, um irmão do lado do servidor que também usa loops de tinta única e de eventos. Primeiro de tudo, o Node usa o JS para programação do servidor, em vez do Nginx para gravar configuração ou Lua, que está mais alinhada com o meu gosto. Em segundo lugar, estou mais familiarizado com o nó e é mais fácil configurar em todos os aspectos.
O pacote Node-Http-Proxy que conclui esta função. Para baixar e instalar, digite:
NPM Instale http-proxy
Após a conclusão da instalação, crie um novo arquivo proxy.js e digite:
var http = requer ('http'), httpproxy = requer ('http-proxy'); // cria um novo objeto de servidor proxy proxy var proxy = httpproxy.createProxyServer ({}); // Catch Exception proxy.on ('error', function (function (}); 'Content-Type': 'Text/Plain'}); // Em cada solicitação, ligue para o método proxy.web (req, res config) para solicitar a distribuição Crie seu servidor personalizado e basta ligar para `proxy.web ()` para proxy // uma solicitação da web para o destino aprovada no sadockets // também pode usar `proxy.ws ()` para proxy a proxy a websol. res) {// Você pode definir sua lógica personalizada para lidar com a solicitação // e depois proxy a solicitação. req.connection.remoteaddress));Se você falar sobre o custo do uso de um servidor proxy, pode ser que ele consuma mais operações da CPU do que sem consumir mais recursos.
Problema de uso: não é possível especificar a pasta proxy.web (req, res, {target: 'http://vevb.com:81/foo/'});