SSL em um domínio e não no servidor ip ou qualquer host virtual (nginx)

3

Eu tenho uma configuração SSL no meu servidor nginx e o SSL funciona perfeitamente, só que o problema é que ele está trabalhando em todos os outros hosts virtuais e também no IP do servidor que eu não quero. Ele deve funcionar apenas no mesmo bloco de servidor do domínio em que o SSL está ativado.

Aqui estão os blocos do servidor:

server {
    listen 80;
    root /var/www;
    index index.html index.htm index.php;
    server_name SERVER.IP.HERE;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;      
    }
}

server {
        listen 443;
        server_name SERVER.IP.HERE;

        ssl on;
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key; 
}

server {
    listen 80;
    root /var/www/example.com;
    index index.html index.htm index.php;
    server_name example.com;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

Eu quero que o ssl funcione no IP do servidor e NÃO no host virtual example.com. Qual é a melhor maneira de fazer isso?

Obrigado.

    
por dyllib 11.05.2014 / 19:29

2 respostas

1

Eu não tentei, mas acho que um redirecionamento deve funcionar.

Tente adicionar este após o bloco do servidor em que você configura a conexão SSL no IP:

server {
       listen 443;
       server_name *;
       return 301 http://$http_host$request_uri;
 }
    
por aklmie 31.07.2015 / 15:48
0

A captura total deve ser "_", conforme indicado neste URL: link

    
por Jean-René Auger 22.01.2016 / 22:47