wpssl.ru wordpress WPSSL.ru

Как правильно настроить SSL для WordPress на разных типах серверов

Настройка SSL — обязательный этап при создании современного сайта на WordPress. Однако процесс отличается в зависимости от используемого веб-сервера. В этой статье разберём, как правильно настроить SSL для WordPress на трёх популярных серверах: Apache, Nginx и LiteSpeed. Также рассмотрим частые ошибки и способы их устранения.

Почему важно правильно настроить SSL для WordPress

SSL (Secure Sockets Layer) обеспечивает шифрование данных между браузером пользователя и сервером, что важно для безопасности, доверия посетителей и SEO. Неправильная настройка SSL может привести к ошибкам смешанного контента, проблемам с редиректами или снижению производительности.

Правильная конфигурация зависит не только от установки сертификата, но и от корректной настройки веб-сервера и WordPress. Ниже рассмотрим, как реализовать это на разных платформах.

Настройка SSL для WordPress на сервере Apache

Установка SSL-сертификата

Для Apache обычно используется модуль mod_ssl. После получения сертификата (например, от Let's Encrypt) его нужно разместить в директории на сервере, например:

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

В файле конфигурации виртуального хоста Apache (обычно /etc/apache2/sites-available/example.com.conf) добавьте секцию SSL:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    # Редирект с HTTP на HTTPS
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    <Directory /var/www/html>
        AllowOverride All
    </Directory>
</VirtualHost>

Обеспечение правильной работы WordPress с HTTPS

В файле wp-config.php добавьте следующий код, чтобы WordPress корректно определял протокол:

function wpssl_ru_force_ssl() {
    if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
        $_SERVER['HTTPS'] = 'on';
    }
}
add_action('init', 'wpssl_ru_force_ssl');

Этот код помогает при использовании прокси-серверов, когда переменная HTTPS может быть не установлена.

Устранение ошибок смешанного контента

Добавьте в .htaccess правила для перенаправления всех запросов на HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Для исправления смешанного контента используйте плагин Clearfy Pro, который позволяет автоматически исправлять ссылки с HTTP на HTTPS.

Настройка SSL для WordPress на сервере Nginx

Конфигурация SSL

Файл конфигурации Nginx для сайта (например, /etc/nginx/sites-available/example.com) должен содержать следующий блок:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Особенности настройки HTTP/2 и HTTP/3

Обратите внимание на директиву listen 443 ssl http2; — она включает поддержку HTTP/2, которая ускоряет загрузку сайта через HTTPS.

Для внедрения HTTP/3 потребуется дополнительная настройка сервера и поддержка QUIC-протокола, что пока не повсеместно доступно, но уже можно реализовать на LiteSpeed или в Nginx с экспериментальными модулями.

Исправление смешанного контента и редиректов

Для автоматизации устранения смешанного контента можно использовать плагин WPRemark, который помогает быстро находить и исправлять ссылки с незащищённым протоколом.

Настройка SSL для WordPress на LiteSpeed

Особенности LiteSpeed

LiteSpeed — это современный высокопроизводительный сервер, который поддерживает SSL и HTTP/3 из коробки. Для его настройки зачастую используется панель управления, например, CyberPanel или DirectAdmin.

Конфигурация SSL в LiteSpeed

Основная настройка происходит в интерфейсе панели управления, где нужно загрузить сертификат и приватный ключ. Для ручной настройки можно отредактировать конфигурацию в файлах:

listener SSL {
    address *:443
    secure 1
    keyFile /path/to/privkey.pem
    certFile /path/to/fullchain.pem
}

LiteSpeed автоматически обрабатывает редиректы и заголовки безопасности, но для WordPress нужно удостовериться, что сайт работает по HTTPS.

Интеграция с WordPress

Для корректного определения HTTPS в WordPress используйте тот же код, что и для Apache:

function wpssl_ru_force_ssl() {
    if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
        $_SERVER['HTTPS'] = 'on';
    }
}
add_action('init', 'wpssl_ru_force_ssl');

Это особенно важно, если LiteSpeed работает за прокси.

Практические советы и проверка работы SSL

Тестирование сертификата

После настройки SSL проверьте корректность сертификата с помощью сервисов:

Используйте эти инструменты, чтобы убедиться в отсутствии ошибок и уязвимостей.

Принудительное использование HTTPS в WordPress

Чтобы все ссылки генерировались с HTTPS, в wp-config.php добавьте:

define('FORCE_SSL_ADMIN', true);

Это гарантирует, что админ-панель и REST API работают через защищённое соединение.

Использование плагинов для упрощения настройки SSL

Если хотите автоматизировать процесс, можно использовать бесплатный плагин Really Simple SSL. Он автоматически настроит большинство параметров и исправит смешанный контент.

Для более продвинутого управления и оптимизации рекомендуем обратить внимание на Clearfy Pro, который включает дополнительные инструменты по безопасности и оптимизации.

Заключение

Правильная настройка SSL на разных типах серверов требует знания особенностей каждого из них. Apache, Nginx и LiteSpeed имеют свои нюансы в конфигурации, которые важно учитывать для стабильной и безопасной работы WordPress. Использование проверенных плагинов и инструментов поможет избежать ошибок и упростит поддержку HTTPS.

×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙