
Tentando fazer com que o nginx faça proxy do meu aplicativo node.js e use um domínio com ele. Terei muitos domínios mapeados para o servidor, por isso estou usando .conf
arquivos separados para cada bloco de servidor. O problema que estou tendo agora é que só consigo fazer com que a página nginx padrão apareça quando vou para o domínio. Tentarei explicar a configuração atual da forma mais clara possível e, se precisar de mais informações, entre em contato.
Mudanças no nginx.conf
Eu defino o caminho raiz para onde estão meus arquivos de aplicativos, root /var/www;
por exemplo, um aplicativo seria implantado na pasta /var/www/example.com
.
configuração do bloco do servidor
Criei um novo arquivo para o bloco do servidor /etc/nginx/conf.d/example_com.conf
que contém
server
{
listen 80;
listen [::]:80;
server_name example.com www.example.com;
location /var/www
{
proxy_pass http://localhost:3103;
include /etc/nginx/proxy_params;
}
}
por favor note que indo para o meuhttp://meuip:3103renderiza o aplicativo como deveria e o arquivo /etc/nginx/proxy_params
contém
proxy_buffers 16 32k;
proxy_buffer_size 64k;
proxy_busy_buffers_size 128k;
proxy_cache_bypass $http_pragma $http_authorization;
proxy_connect_timeout 59s;
proxy_hide_header X-Powered-By;
proxy_http_version 1.1;
proxy_ignore_headers Cache-Control Expires;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
proxy_no_cache $http_pragma $http_authorization;
proxy_pass_header Set-Cookie;
proxy_read_timeout 600;
proxy_redirect off;
proxy_send_timeout 600;
proxy_temp_file_write_size 64k;
proxy_set_header Accept-Encoding '';
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy_set_header Proxy '';
proxy_set_header Referer $http_referer;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Original-Request $request_uri;
Há algo que estou fazendo de errado aqui? Você precisa de mais alguma informação? Por favor, me avise! nginx é muito novo para mim e sinto que estou super perto, apenas notei que entendi alguma coisa. Obrigado!
Responder1
A diretiva location especifica um URI de solicitação do cliente, não um local de arquivo em seu sistema de arquivos local.
Então location /var/www {
significa usar este local quando alguém solicitarwww.example.com/var/www
Tente alterá-lo paralocation / {