Как принудительно включить SSL Wordpress в Google App Engine

Шаги, предпринятые на данный момент

С https://cloud.google.com/appengine/docs/flexible/php/securing-custom-domains-with-ssl

  1. У меня есть личный домен.
  2. я проверил, что управляемый сертификат был предоставлен
  3. Я автоматически перешел на управляемые SSL-сертификаты. Спасибо Google
  4. Я создал htaccess, который принудительно использует SSL
My Problem
  1. После запуска gcloud app deploy мой сайт переходит на http вместо https.

См. скриншот ниже введите здесь описание изображения


person Dos    schedule 01.12.2017    source источник


Ответы (2)


Как ваша константа site_url определена в вашем файле wp-config.php?

Возможно, вам также потребуется установить плагин Force SSL или Simple SSL. И определите соответствующие константы в вашем файле wp-config.php.

person TurtleTread    schedule 01.12.2017
comment
Сбросьте константы, чтобы вы могли видеть, действительно ли он установлен на https - person TurtleTread; 01.12.2017
comment
Как сбросить константы? - person Dos; 01.12.2017
comment
var_dump($вар). или, если вы включили журнал ошибок, вы можете сделать error_log(print_r($var, 1)); - person TurtleTread; 02.12.2017
comment
В моем файле wp-config.php я добавил define('WP_DEBUG_LOG', true); но ошибок не показывает. Я делаю это правильно? - person Dos; 02.12.2017
comment
Сначала вам нужно установить WP_DEBUG в true. Также вы можете просто использовать var_dump для сброса вашей константы в живое приложение. Это легче. Дело в том, чтобы увидеть, являются ли константы на самом деле https. - person TurtleTread; 03.12.2017
comment
Похоже, мне нужно отредактировать страницу 'nginx-app'.config, и она не работает отлично. - person Dos; 07.12.2017
comment
Я сейчас занимаюсь этой проблемой. Как вы настроили файл nginx-app.config? - person JGOakley; 15.03.2018

Первый вариант — настроить ваш сайт для работы через HTTPS вместо HTTP. По умолчанию WordPress перенаправляет все остальные ссылки на протокол по умолчанию (в вашем случае HTTPS).

Вы можете настроить его через WP-Cli. Команда, которая вам нужна:

wp search-replace 'OLD-URL' 'NEW-URL' --precise --recurse-objects --all-tables-with-prefix

Вы можете проверить следующий учебник для получения дополнительной информации: https://developer.wordpress.org/cli/commands/search-replace/

Другой вариант — установить переадресацию 301 в файле .htaccess. Я использую следующий код:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Дополнительную информацию об этих типах перемещений из Google можно найти по адресу: https://support.google.com/webmasters/answer/6033049?hl=en&ref_topic=6033084

person Vasil    schedule 01.12.2017
comment
Вы заменили URL-адреса HTTP в базе данных в соответствии с первым вариантом моего ответа? Вы можете попробовать использовать плагин для поиска-замены в базе данных, чтобы все URL-адреса были с HTTPS. - person Vasil; 02.12.2017
comment
Однако я сделал это с Google App Engine, я использую localhost: 8080 для запуска сервера. Как мне изменить это, чтобы я мог использовать https на локальном хосте и по-прежнему иметь возможность открывать приложение в GAE? - person Dos; 02.12.2017