Para definir um servidor padrão:
server {
listen 80 default_server;
rewrite ^ http://mymaintarget.com$request_uri? permanent;
}
O parâmetro default_server incluirá qualquer outro domínio, ip etc
Mais informações nginx
Estou usando o Debian, o mais recente dotdb nginx-lite.
Eu li que a primeira seção server
encontrada por nginx será usada como a seção de fallback / default usada se não houver uma seção de servidor específica para um domínio.
Eu deletei sites-available
e sites-enabled
da minha instalação porque eu uso uma montagem dedicada /www
para tudo relacionado a http.
Meu /etc/nginx/nginx.conf
tem essas linhas, incluindo outros confs:
include /www/conf.d/nginx/default.conf;
include /etc/nginx/conf.d/*.conf;
include /www/conf.d/nginx/*;
default.conf parece com:
server {
server_name 0.0.0.0;
listen 0.0.0.0:80;
rewrite ^ http://mymaintarget.com permanent;
}
Isso não funciona para mim. Eu ainda recebo este aviso:
Restarting nginx: nginxnginx: [warn] conflicting
server name "0.0.0.0" on 0.0.0.0:80, ignored
Tenho certeza de que não há outra seção do servidor e o default.conf é o primeiro incluído / usado.
Alguém sabe o que está errado ou como a maneira correta de configurar um servidor padrão é?
Atualizar arquivos de configuração completos:
nginx.conf:
user www-data;
worker_processes 8;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 10;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
gzip_vary on;
# Default VirtualHost
include /www/conf.d/nginx/default.conf;
# conf.d is empty anyways
#include /etc/nginx/conf.d/*.conf;
# VirtualHosts
include /www/conf.d/nginx/*;
}
default.conf:
server {
listen 80 default_server;
rewrite ^ http://blog.flowl.info permanent;
}
Para definir um servidor padrão:
server {
listen 80 default_server;
rewrite ^ http://mymaintarget.com$request_uri? permanent;
}
O parâmetro default_server incluirá qualquer outro domínio, ip etc
Mais informações nginx
# Default VirtualHost
include /www/conf.d/nginx/default.conf;
# conf.d is empty anyways
#include /etc/nginx/conf.d/*.conf;
# VirtualHosts
include /www/conf.d/nginx/*;
"default.conf" é incluído e, em seguida, é incluído novamente em /www/conf.d/nginx/*
Eu removi o primeiro include e renomeei "default.conf" para "_default.conf" para que o arquivo seja o primeiro a ser incluído no wildcard include.
Tags nginx virtualhost