Artigo Diretório
1. Configuração de proxy reverso Nginx
nginx
web
Uma função importante como servidor 反向代理
.
Obviamente, você também pode usar a configuração de proxy de encaminhamento do nginx ; este artigo apenas descreve como configurar nginx
o 反向代理
.
nginx反向代理
As instruções não precisam adicionar módulos adicionais, o padrão vem com proxy_pass
instruções, só precisa modificar o arquivo de configuração para conseguir 反向代理
.
2. O que é um servidor proxy reverso
A função de proxy reverso é uma nginx
das três funções principais ( web
servidor estático , proxy reverso, balanceamento de carga). nginx
Geralmente, é usado como uma 静态web服务器
soma 反向代理服务器
, como um arquivo para web服务器
acesso 静态文件图片、css、js、html
e como um servidor proxy reverso para enviar solicitações ao serviço de processamento de negócios de backend.Se houver vários nós de processamento de backend, a 负载均衡
função será configurada .
Um servidor proxy reverso é um servidor proxy usado para gerenciar a conexão da rede externa para a rede interna ou qualquer solicitação específica. Ele protege, roteia e gerencia o tráfego de redes externas para redes internas, servidores da Web ou redes privadas.
2.1 Cliente Extranet
No www.csdn.cn
cenário em que costumamos abrir o navegador e inserir a URL a ser visitada , nosso notebook pode ser entendido como um cliente de extranet.
2.2 serviço de proxy reverso nginx
Após o navegador inserir a URL e pressionar Enter, irá iniciar uma http
solicitação para o nginx
(servidor proxy reverso), se a solicitação estiver acessando arquivos estáticos, nginx
pois o web
servidor retorna diretamente o conteúdo solicitado, se for um acesso lógico de serviço em segundo plano, nginx
a solicitação é encaminhada Para o processamento do serviço de back-end.
2.3 Serviço web de intranet
O serviço de back-end pode ser uma variedade de tipos, LNMP
no php-fpm
processo de ambiente , Java
o ambiente tomcat、jetty
e outros contêineres, de http
solicitação de processamento de lógica de programa , gera html
uma página ou json
string de volta para o cliente.
Para pequenos aplicativos, o serviço de back-end pode ser nginx
implantado na mesma máquina.
3. Benefícios do servidor proxy reverso
nginx
A função importante do proxy reverso é cooperar para upstream
atingir o balanceamento de carga.
Ao mesmo tempo, a segurança é aumentada, os clientes não podem acessar diretamente os serviços de back-end, adicionando uma barreira intermediária.
Melhore o desempenho, transmita a solicitação ao back end de maneira assíncrona e sem bloqueio e aprimore a capacidade de processamento simultâneo.
Também pode usar cache, resposta de compressão para melhorar a velocidade de resposta.
4. Como configurar o proxy reverso no nginx
nginx
O proxy reverso não precisa compilar módulos adicionais, ele vem com proxy_pass
e fastcgi_pass
instruções por padrão, e a location
função de proxy reverso pode ser realizada adicionando instruções no bloco de configuração.
Por exemplo, um wordpress
programa para um site wordpress
está php
escrito em um idioma e, em seguida, ele precisa passar pelo php
ambiente operacional, que pode ser selecionada como apache
uma php
extensão ou php-fpm
meio ambiente. A escolha mainstream é php-fpm
para php-fpm
configurá-lo para Unix socket
o modo ou ip:
modo de porta.
4.1 Configuração de serviço de back-end de soquete Unix
server {
listen 80;
server_name localhost;
location /app {
fastcgi_pass unix:/tmp/php-cgi.sock;
}
}
Configuração de serviço de back-end da porta 4,2 ip
server {
listen 80;
server_name localhost;
location /app {
proxy_pass http://127.0.0.1:8080;
}
}
5. A diferença entre proxy_pass e fastcgi_pass
Para ambos os casos descritos acima proxy_pass
e fastcgi_pass
podem ser substituídos um pelo outro uso, mas há diferenças entre os dois, podemos ver pelo nome, fastcgi_pass
ele é usado para reverter fastcgi
contrato de proxy proxy_pass
pode incluir um proxy de fastcgi
outros protocolos, incluindo o protocolo.
Por exemplo, espelhar um site, neste caso, você precisa proxy_pass
=>
location /{
proxy_pass http://www.baidu.com;
}
Em suma, proxy_pass
é mais versátil.
(Para ser adicionado mais tarde)