[Nginx 3] - Nginx implementa proxy reverso

Diretório de artigos da série

[Nginx 1]——Introdução ao Nginx (proxy direto, proxy reverso, balanceamento de carga, separação dinâmica e estática)
[Nginx 2]——Arquivo de configuração de comando comum do Nginx,
como o Nginx processa solicitações



prefácio

Este blog apresenta principalmente como o Nginx implementa o proxy reverso, o que é proxy reverso e exemplos para implementar o proxy reverso.


1. O que é um proxy reverso?

O servidor proxy recebe a requisição na rede, encaminha a requisição para o servidor da rede interna, e retorna o resultado obtido do servidor para o cliente conectado na rede.

Antecedentes: Primeiro, há um usuário C, três servidores S1, S2 e S3, mas S1 está aberto para a rede externa, S2 e S3 não estão abertos para a rede externa e há um recurso D, que é colocado no servidores S2 e S3.

O usuário C não sabe que o recurso D está nos servidores S2 e S3, ele só sabe que pode obter o recurso D visitando o servidor S1, então ele acessa diretamente o servidor S1 todas as vezes, mas os recursos fornecidos ao usuário C são todos do servidor S2 ou S3.

Para o usuário C, o proxy reverso não sabe onde está o recurso D ou quem o fornece.

Para o servidor S1, ele aceita a solicitação do usuário todas as vezes e, em seguida, envia a solicitação para o servidor S2 ou S3 que fornece o recurso D de acordo com a política de agendamento. Para os servidores S2 e S3, eles também não sabem a verdade de acessando o recurso D. Seja qual for o usuário, basta interagir com o servidor S1.

Dois, Nginx implementa proxy reverso

Diagrama esquemático da implementação de um proxy reverso:
insira a descrição da imagem aqui

1. Preparação e acesso ao ambiente Tomcat

Instale o tomcat no servidor Linux e inicie-o. O ip da máquina virtual linux é 192.168.60.123
insira a descrição da imagem aqui
para acessar o servidor tomcat através do ip+port número 8080; a página acessada com sucesso:
insira a descrição da imagem aqui

2. Acesse o Tomcat através do nome de domínio

A relação de mapeamento entre nome de domínio e ip é realizada no arquivo hosts em windows. C:\WINDOWS\system32\drivers\etc

A função da configuração do arquivo host no Windows 10 é estabelecer um "banco de dados" de associação entre alguns nomes de domínio de sites comumente usados ​​e seus endereços IP correspondentes. A principal função deste arquivo é definir a relação de mapeamento entre endereços IP e nomes de host, e é uma regra para mapear endereços IP e nomes de host³. Quando inserimos uma URL no navegador, o navegador primeiro pesquisará o arquivo de hosts locais. Se o endereço IP correspondente for encontrado, ele acessará diretamente o servidor correspondente ao endereço IP, caso contrário, enviará uma solicitação ao servidor DNS para obter o URL correspondente ao endereço IP.

Exemplo (como mostrado na figura:)

insira a descrição da imagem aqui
O ip da maquina virtual linux é 192.168.60.123
insira a descrição da imagem aqui

Desta vez, acesse através do nome de domínio www.test.com + número da porta 8080.

Perceba a captura de tela do efeito:
insira a descrição da imagem aqui

3. Acesso através do nome de domínio sem número de porta (realizar proxy reverso)

Modifique o arquivo de configuração do Nginx, edite o arquivo nginx.conf e modifique o módulo do servidor.
Primeiro, o nginx ouvirá as solicitações na porta 80 e, em seguida, corresponderá às solicitações com um nome de serviço de 192.168.60.123 e, em seguida, fará a correspondência de acordo com as regras de correspondência de localização. Para passar a solicitação para o servidor proxy HTTP, use a diretiva proxy_pass para ler este blog para saber mais sobre como o Nginx lida com solicitações

O código é o seguinte (exemplo):

server {
    
    
        listen 80;
        server_name 192.168.60.123;
         location / {
    
    
         proxy_pass http://192.168.60.123:8080;  
             }
 }
 

Após a configuração, acesse através do nome de domínio www.test.com

Perceba a captura de tela do efeito:
insira a descrição da imagem aqui


Resumir

Não é difícil ver que o proxy reverso não conhece o servidor de destino do cliente, e o cliente sabe apenas que o servidor proxy solicitante pode obter os recursos necessários. O servidor proxy pode ser configurado de acordo para interceptar solicitações de clientes para nossos servidores de back-end e, ao fazer isso, o servidor proxy pode proteger a identidade do servidor de destino e servir como uma defesa adicional contra ataques de segurança.

Acho que você gosta

Origin blog.csdn.net/wangwei021933/article/details/129861962
Recomendado
Clasificación