Исправляем ошибку 400 Bad Request при включении https у 1С-Битрикс

, Михаил

После включение редиректа на https, в некоторых случаях появляется ошибка 400 Bad Request The plain HTTP request was sent to HTTPS port

Всё происходит из за mod_dir, он берет на себя редирект с папки без слеша на папку с слешом, но он не воспринимает "HTTPS on" как побудитель использования схемы https:// 

Что бы всё это заработало, нужно:

  • В конфигах nginx'a ничего не трогаем
    proxy_set_header       Host       $host:443;
  • В конфиге апача который отвечает за ваш домен
    Если у вас конфигурация многосайтовая - /etc/httpd/bx/conf/bx_ext_site.local.conf
    односайтовая - /etc/httpd/bx/conf/default.conf
    К названию сервера ServerName  site.local  дописываем:
    ServerName  https://site.local 

смысл следующий: http://httpd.apache.org/docs/2.2/mod/core.html#servername

Sometimes, the server runs behind a device that processes SSL, such as a reverse proxy, load balancer or SSL offload appliance. When this is the case, specify the https:// scheme and the port number to which the clients connect in the ServerName directive to make sure that the server generates the correct self-referential URLs.