1
resposta

Comunicação de uma aplicação com várias portas.

Bom dia, Espero que esteja bem. Tenho uma URL configurada no NGINX, que está direcionando para um servidor que tem uma aplicação, e essa aplicação necessita se comunicar em várias portas, como eu faço essa configuração no NGINX?

Eu configurei dessa forma, mas não funcionou, preciso adicionar as demais portas de comunicação.

server { listen 80; server_name trauma0.meudominio.com.br;

# Redireciona todas as solicitações HTTP para HTTPS
return 301 https://$host$request_uri;

}

server { listen 443 ssl; server_name trauma0.meudominio.com.br;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_certificate             /etc/nginx/ssl.d/cert.crt;
ssl_certificate_key         /etc/nginx/ssl.d/cert.key;

proxy_ssl_verify off;

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
add_header Content-Security-Policy "default-src 'self'";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data:;";
add_header X-Frame-Options "DENY";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "no-referrer";
add_header Permissions-Policy "geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(self), payment=();";

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Accept-Encoding "";
    proxy_pass http://192.168.100.11:8042/;
}

}

1 resposta

Olá, Danilo.

Tudo bem?

Pelo que entendi, você está tentando configurar o NGINX para que ele possa redirecionar tráfego para múltiplas portas em um servidor específico. Se a aplicação necessita se comunicar com várias portas, você precisará especificar cada uma dessas portas em blocos de configuração separados dentro do seu arquivo de configuração do NGINX.

Aqui está um exemplo de como você pode configurar o NGINX para redirecionar para diferentes portas no mesmo servidor:

server {
    listen 443 ssl;
    server_name trauma0.meudominio.com.br;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_certificate /etc/nginx/ssl.d/cert.crt;
    ssl_certificate_key /etc/nginx/ssl.d/cert.key;

    location /app1 {
        proxy_pass http://192.168.100.11:8042;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /app2 {
        proxy_pass http://192.168.100.11:8043;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /app3 {
        proxy_pass http://192.168.100.11:8044;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Neste exemplo, cada location redireciona para uma porta diferente no mesmo servidor interno (192.168.100.11). Você pode ajustar os caminhos de location (/app1, /app2, /app3) e as portas (8042, 8043, 8044) conforme necessário para sua aplicação.

Certifique-se de que as portas que você está tentando acessar estão abertas e disponíveis no servidor que hospeda a aplicação. Além disso, verifique se não há regras de firewall bloqueando a comunicação nessas portas.

Espero ter entendido e conseguido ajudar. Qualquer dúvida manda aqui. Bons estudos.