restringindo o acesso somente através de domínios no nginx em hosts virtuais

4

Eu terminei de configurar o nginx para hospedagem virtual, é assim que meus arquivos de configuração se parecem

server {
    listen 80;
    server_name domain.com;
    access_log /home/domain.com/prod_webapp/logs/access.domain.com.log;
error_log /home/domain.com/prod_webapp/logs/error.domain.com.log;
    location /static {
            root /home/domain.com/prod_webapp/mocorner/ph/;
    }
location / {
    try_files $uri @uwsgi;
}
location @uwsgi {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/domain_uwsgi.sock; 
}}

na mesma máquina, eu tenho domain1.com e domain2.com, cada um quando eu acesso eu recebo seu conteúdo, o que é ótimo. Meu problema é que quando eu tento acessar o usuário usando o endereço IP eu recebo um dos sites nos hosts virtuais também.

Embora eu tenha desabilitado o padrão (removido o link simbólico) da pasta habilitada para sites, mas ainda não resolvi isso para mim.

alguma sugestão?

    
por Mo J. Mughrabi 24.06.2012 / 00:10

2 respostas

4

Você pode lidar com essas solicitações criando a configuração padrão do servidor da Web da seguinte forma:

server {
    listen 80 default;
    server_name localhost;
}

Esta opção é chamada default_server desde 0.8.21. Consulte a documentação para obter detalhes.

    
por 24.06.2012 / 01:14
3

Basta inserir um travar todo o bloco e restringir o acesso a todas as outras solicitações ao seu IP. p>

server {
    listen 80 default_server;
    server_name _;
    return 444;
}
    
por 24.06.2012 / 03:56

Tags