SSL на одном домене а не IP сервера или любых виртуальных хостах (nginx)

У меня есть установка SSL на моем nginx сервере, и SSL работает отлично, только проблема - это, работает над всеми другими виртуальными хостами и также IP сервера, к которому я не хочу это. Это должно только работать в том же блоке сервера доменом, где ssl активируется.

Вот блоки сервера:

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;
    }
}

Я хочу, чтобы ssl работал над IP сервера а НЕ example.com виртуальный хост. Что лучший способ состоит в том, чтобы сделать это?

Спасибо.

3
задан 11 May 2014 в 21:29

2 ответа

Я не попробовал его, но я думаю, что перенаправление должно работать.

Попытка, добавляющая это после блок сервера, где Вы настраиваете соединение SSL на IP:

server {
       listen 443;
       server_name *;
       return 301 http://$http_host$request_uri;
 }
1
ответ дан 18 November 2019 в 05:42

Вместилище должно быть "_", как обозначено в этом URL: http://nginx.org/en/docs/http/server_names.html#miscellaneous_names

0
ответ дан 18 November 2019 в 05:42

Другие вопросы по тегам:

Похожие вопросы: