принудительное преобразование https в http nginx subdmain

#ssl #nginx #url-rewriting

#ssl #nginx #url-перезапись

Вопрос:

Я знаю, что этот вопрос обсуждался много раз, но последние несколько часов я провел без какого-либо успеха. У меня есть поддомен, который перенаправляет любой www на none www, и я хочу, чтобы он также перенаправлял любой https на http.

вот мой виртуальный хостинг nginx:

 server {
        listen 80;
        server_name www.stat.domain;
        return 301 http://stat.domain;
}

server {
        listen 80;
        root /home/www/public/;
        index index.php index.html index.htm;
        server_name stat.domain.net;
        location / {
        try_files $uri $uri/ /index.php;
        }
  location ~ .php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(. .php)(/. )$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
}
 

Я до сих пор не знаю, почему кто-то может вручную изменить URL-адрес, скажем, с http на https в браузере. разве это не должно быть запрещено, особенно если на сайте нет SSL?

есть идеи, как принудительно преобразовать https в http?

Ответ №1:

Я до сих пор не знаю, почему кто-то может вручную изменить URL-адрес, скажем, с http на https в браузере. разве это не должно быть запрещено, особенно если на сайте нет SSL?

Из этого предложения я понимаю, что на вашем сайте нет или нет надлежащего SSL. В этом случае

  • Как браузер должен узнать, что SSL отсутствует, прежде чем пытаться получить к нему доступ? И даже тогда, как он должен знать, что это постоянная и преднамеренная ошибка, чтобы любые повторные попытки не сработали? И если браузер не знает, как он должен запретить пользователю вводить https-URL?
  • И если у вас нет https, то как вы будете перенаправлять с него? Для перенаправления требуется соединение, в котором оно может выдавать перенаправление, поэтому отсутствие SSL на вашем сайте означает отсутствие https-соединения и, следовательно, отсутствие перенаправления с https-соединения.

Комментарии:

1. @Digitalsite: если ваш поддомен находится на том же IP-адресе, что и домен, там тоже будет SSL, но с неправильным сертификатом. Обойти это невозможно, например. либо вы прослушиваете IP: https, либо нет. Вы можете либо переместить свой поддомен на другой IP, где никто не использует SSL, либо получить сертификат для поддомена (или подстановочный знак).

2. Спасибо @Steffen за полезный ответ. Я подумаю об этом в любом случае, как вы предложили. Хорошего дня!!