Sim, este é o melhor e o único caminho sensato. Você pode até omitir completamente o nome do servidor.
Estamos usando o nginx para veicular conteúdo estático e o apache para conteúdo dinâmico.
Eu defini uma configuração de servidor padrão como:
#Set a default server that simply proxies all requests to apache
server
{
listen 80 default_server;
server_name _;
location /
{
proxy_pass http://127.0.0.1:8080;
}
}
É a melhor maneira de fazer proxy de tudo para o apache se, por alguma razão, um server_name não corresponder?
Se você usar SSL, precisará de um canal extra para um certificado padrão e uma chave (que podem ser autoassinados).
server {
server_name _;
listen 80 default_server;
listen 443 ssl default_server;
ssl_certificate <path to cert>;
ssl_certificate_key <path to key>;
location /
{
proxy_pass http://127.0.0.1:8080;
}
}
O Nginx tentará aceitar a conexão SSL em um default_server IP / port-matching. Se tal servidor estiver faltando cert / key, o nginx soltará a conexão. Não tentará outros servidores. Então não esqueça do cert / key.
Tags nginx