светлый - нежелательный HSTS

Я уже несколько лет бегаю на своей машине разработки, настроил несколько vhosts, один из них - phpmyadmin, а один из других использует SSL с самоподписанным сертификатом на определенных страницах; и он отлично работает в течение многих лет.

Но теперь, каждый раз, когда я пытаюсь получить доступ к любому из моих vhosts, браузеры просто показывают мне сообщение об ошибке, утверждающее, что сервер неправильно настроен и использует hsts (NET :: ERR_CERT_AUTHORITY_INVALID) - но я никогда не настраивал это!

http://(ip-address)/ отлично работает; как и http://(ip-address)/vhost-path/, и я буду работать с этим, пока не выкину лайт в корзину и не установлю nginx; но перенаправления делают это непригодным для использования в какой-то момент тестирования.

У меня была идея, что программное обеспечение AV на моем клиенте Windows может вызвать проблему; но это также видно на самой машине разработки Debian.

Есть идеи, как это происходит и как решить проблему?


Подробности:

  • Ubuntu 16.04.4 LTS \ n \ l
  • lighttpd / 1.4.35 (SSL)
  • OpenSSL 1.0.2j

содержимое /etc/conf/lighttpd/conf-enabled:

05-auth.conf
10-fastcgi.conf
10-ssl.conf
50-phpmyadmin.conf
10-cgi.conf
10-simple-vhost.conf
15-fastcgi-php.conf
90-javascript-alias.conf

Насколько я помню, только 10-ssl.conf содержит больше содержимого по умолчанию; и все они не менялись годами.

lighttpd.conf (mtime два года назад) содержит:

server.modules = (
        "mod_access",
        "mod_accesslog",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
)

... (general server setup) ...

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

... (vhost configuration) ...

/etc/conf/lighttpd/ssl/ содержит сертификат SSL для одного виртуального хоста, на котором я использую https (действителен до 2023 года).


person Titus    schedule 08.05.2018    source источник
comment
Вы используете домен, оканчивающийся на .dev?   -  person Barry Pollard    schedule 08.05.2018
comment
@BarryPollard, безусловно, да! Нужен ли мне сейчас зарегистрированный TLD?   -  person Titus    schedule 17.05.2018


Ответы (1)


Chrome владеет доменом верхнего уровня .dev и решил предварительно загрузить его в статический список HSTS, встроенный в браузер. Firefox недавно последовал за пакетом. См. Эту ссылку для получения дополнительной информации: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

Это означает, что вы не можете выключить HSTS.

Возможны следующие варианты:

  1. Используйте другой домен (например, .test)
  2. Создайте самозаверяющий сертификат и переключите тестовый сайт на HTTPS.

Обратите внимание, что, поскольку HSTS не позволит вам просмотреть ошибки сертификата, вам также необходимо добавить сертификат (или проблемы) в хранилище доверенных сертификатов.

Я твердо убежден, что разработка должна вестись на HTTPS-сайтах. Это соответствует производственной среде, что позволяет избежать проблем со смешанным контентом при запуске, некоторые мощные функции не будут работать на HTTP-сайтах, а также с некоторыми новыми функциями (HTTP / 2, сжатие Brotli, Service Workers).

Сделайте себе одолжение и просто создайте самозаверяющий сертификат, добавьте его в свое хранилище доверенных сертификатов и перейдите на HTTPS для разработки. Также обратите внимание, что Chrome требует, чтобы сертификаты имели поле SAN, что требует немного больше усилий, но может быть выполнено с этим в Linux (замените два экземпляра server.domain.tld):

openssl req \
    -newkey rsa:2048 \
    -x509 \
    -nodes \
    -keyout server.key \
    -new \
    -out server.crt \
    -subj /CN=server.domain.tld\
    -reqexts SAN \
    -extensions SAN \
    -config <(cat /etc/pki/tls/openssl.cnf\<(printf '[SAN]\nsubjectAltName=DNS:server.domain.tld')) \
    -sha256 \
    -days 3650

Или, в качестве альтернативы, в MacOS, где вы не можете использовать онлайн-версию:

cat /System/Library/OpenSSL/openssl.cnf > /tmp/openssl.cnf
echo '[SAN]\nsubjectAltName=DNS:server.domain.tl'>> /tmp/openssl.cnf
openssl req \
    -newkey rsa:2048 \
    -x509 \
    -nodes \
    -keyout server.key \
    -new \-out server.crt \
    -subj /CN=server.domain.tl\
    -reqexts SAN \
    -extensions SAN \
    -config /tmp/openssl.cnf\
    -sha256 \
    -days 3650
person Barry Pollard    schedule 17.05.2018