Назад | Перейти на главную страницу

ssl «работает» как с www, так и без поддомена, но не правильно

Итак, у меня есть сайт (я использую nginx). Я могу подключиться к https://example.com просто хорошо. Но если я подключусь к https://www.example.com тогда он говорит, что соединение зашифровано, но на странице есть ресурсы, которых нет. На странице нет ресурсов (и страницы абсолютно одинаковы, независимо от того, есть ли у них www или нет).

Единственное, что я могу понять, это то, что файлы cookie почему-то не зашифрованы?

Как я могу разобраться в проблеме и как ее решить (мне, конечно, сначала нужно разобраться в проблеме).

Если ваш сертификат SSL предназначен для www.example.com, то он не будет работать на example.com и наоборот. Сертификат SSL будет работать только для определенного домена (и в этом случае www.example.com считается конкретным поддоменом).

Единственный способ обойти это - получить SSL-сертификат с подстановочным знаком, который будет работать как на www.example.com, так и на example.com.

Если у вас нет Подстановочный SSL-сертификат, вы можете использовать mod_rewrite, чтобы переписать любой запрос с example.com на www.example.com.

RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} !^www\.example.com [NC]
RewriteRule ^(.*) https://www.example.com/$1 [L,R=301]

Описанная вами ошибка не должна иметь ничего общего с именем хоста, которое используется для доступа к сайту (вы получите другую ошибку, в которой будет указано, что сертификат выдан на другое имя). Чтобы решить проблему, попробуйте решения, перечисленные здесь: http://www.sslshopper.com/article-stop-the-page-contains-secure-and-nonsecure-items-warning.html