Apache :установил отдельный SSL-сертификат для каждого виртуального хоста

Для этого я придумал следующее:

#!/bin/sh

if [ "$1" = '-' ]; then
    file='/dev/stdin'
else
    if [ ! -f "$1" ]; then
        printf 'ERROR! Cannot find file\n' >&2
        exit 1
    else
        file=$1
    fi
fi

while read -r num; do
    printf '%s\n' "$num" | xxd -r -p
    echo
done < "$file"
  • Если первый позиционный параметр равен -, мы будем читать со стандартного ввода
  • В противном случае мы проверяем, является ли первый аргумент допустимым файлом. Если это так, мы будем читать из него, если нет, мы выполним ошибку и выйдем.
  • Мы будем читать каждую строку либо из стандартного ввода, либо из файла и присваивать этой строке переменную num
  • мы передадим переменную numв xxdдля ее преобразования
  • эхо здесь, чтобы гарантировать добавление новой строки после каждого результата

С напильником:

$ cat test_number
30  31  37  20  41  41  41  20  0A
30  31  37  20  41  41  41
30 31 37 20 42 42 42
30 31 37 20 43 43 43
42 45 45 46
$./hex.sh test_number
017 AAA

017 AAA
017 BBB
017 CCC
BEEF

Из стандартного ввода:

$./hex.sh -
30  31  37  20  41  41  41  20  0A
017 AAA

42 45 45 46
BEEF
^C
$
0
20.05.2020, 03:21
1 ответ

Сертификат, который я сейчас вижу в https://highschoolhelper.org, выдан «центром сертификации cPanel, Inc.». Это говорит о том, что ваш хостинг-провайдер использует систему cPanel, которая переопределяет некоторые части любой конфигурации, которую вы делаете в файлах конфигурации Apache, или, возможно, набор -, который централизованно управляет поддержкой SSL/TLS для всех своих клиентов.

Возможно, вам придется использовать какую-либо панель управления хостингом для настройки сертификатов для основного домена вместо непосредственного изменения конфигурации веб-сервера.

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

Если вы не уверены, обратитесь к документации вашего хостинг-провайдера или свяжитесь с ним для получения дальнейших инструкций. Только они будут точно знать, как устроена их система.

Сертификат, который я сейчас вижу в https://apple.highschoolhelper.org, соответствует сертификату, который вы отправили для него, и отпечатки пальцев также совпадают.

В соответствии с вашей конфигурацией сертификат для https://apple.highschoolhelper.orgдолжен находиться в файле /etc/letsencrypt/live/apple.highschoolhelper.org/apple.highschoolhelper.org_fullchain.crt, который не совпадает с *.csr, о котором вы упоминали ранее -Полагаю, вы внесли некоторые изменения?

Вы можете проверить отпечаток файла сертификата на сервере с помощью:

openssl x509 -in /etc/letsencrypt/live/apple.highschoolhelper.org/apple.highschoolhelper.org_fullchain.crt -noout -fingerprint -sha256

Если он соответствует отпечатку пальца SHA -256, показанному вашим браузером, этот сертификат работает правильно.

Опубликованный вами сертификат основного домена является -самоподписанным,поля Subject и Issuer имеют значения C=AU, ST=Aust, L=City, O=Default Company Ltd, CN=aws-host. Это похоже на сертификат по умолчанию, сгенерированный автоматикой хостинг-провайдера, который может использоваться только между виртуальным хостом и централизованной системой провайдера, которая предоставляет SSL/TLS для основного домена.

0
28.04.2021, 23:13

Теги

Похожие вопросы