Proxy reverso Nginx e domínio cruzado

1. Configuração de proxy reverso Nginx

nginxwebUma 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 nginxo 反向代理.

nginx反向代理As instruções não precisam adicionar módulos adicionais, o padrão vem com proxy_passinstruçõ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 nginxdas três funções principais ( webservidor estático , proxy reverso, balanceamento de carga). nginxGeralmente, é usado como uma 静态web服务器soma 反向代理服务器, como um arquivo para web服务器acesso 静态文件图片、css、js、htmle 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.
Insira a descrição da imagem aqui

2.1 Cliente Extranet

No www.csdn.cncená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 httpsolicitação para o nginx(servidor proxy reverso), se a solicitação estiver acessando arquivos estáticos, nginxpois o webservidor retorna diretamente o conteúdo solicitado, se for um acesso lógico de serviço em segundo plano, nginxa 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, LNMPno php-fpmprocesso de ambiente , Javao ambiente tomcat、jettye outros contêineres, de httpsolicitação de processamento de lógica de programa , gera htmluma página ou jsonstring de volta para o cliente.

Para pequenos aplicativos, o serviço de back-end pode ser nginximplantado na mesma máquina.

3. Benefícios do servidor proxy reverso

nginxA função importante do proxy reverso é cooperar para upstreamatingir 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

nginxO proxy reverso não precisa compilar módulos adicionais, ele vem com proxy_passe fastcgi_passinstruções por padrão, e a locationfunção de proxy reverso pode ser realizada adicionando instruções no bloco de configuração.

Por exemplo, um wordpressprograma para um site wordpressestá phpescrito em um idioma e, em seguida, ele precisa passar pelo phpambiente operacional, que pode ser selecionada como apacheuma phpextensão ou php-fpmmeio ambiente. A escolha mainstream é php-fpmpara php-fpmconfigurá-lo para Unix socketo 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_passe fastcgi_passpodem ser substituídos um pelo outro uso, mas há diferenças entre os dois, podemos ver pelo nome, fastcgi_passele é usado para reverter fastcgicontrato de proxy proxy_passpode incluir um proxy de fastcgioutros 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)

Acho que você gosta

Origin blog.csdn.net/u013946061/article/details/107739583
Recomendado
Clasificación