Понадобилось опубликовать 1с на веб-сервере для локальной разработки.
Первые попавшиеся мануалы по изготовлению сертификатов никак не хотели дружить их с браузером, и квест сильно затянулся — настолько, что по итогу решил воспроизвести инсталляцию и законспектировать порядок настройки. Именно затруднения с настройкой ssl и послужили причиной оформления статьи.
Скачивал дистрибутив веб-сервера отсюда: https://www.apachehaus.com/cgi-bin/download.plx
1С у нас 32-битный. Дистрибутив апача httpd-2.4.55-o111s-x86-vs17.zip.
Распаковываем архив в директорию. В нашем случае это папка C:\co\app\Apache24 — изменить на свой.
Открываем файл Apache24\conf\httpd.conf, заменяем Define SRVROOT "/Apache24" на Define SRVROOT "C:\co\app\Apache24".
Устанавливаем службу командой httpd.exe -k install
Проверяем localhost
Публикуем базу
Значок в адресной строке говорит нам о том, что подключение не защищено
В папке веб-сервера создаём папку \Apache24\certs
Для настройки ssl использовались различные источники из интернета, и они полезны, но браузер упорно не хотел принимать сертификат, покуда алгоритм работы с OpenSSL не был взят отсюда: как-создавать-надежные-ssl-сертификаты-для-локальной-разработки
В папке Apache24\certs создаём файл v3.ext со следующим содержанием:
authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] # Локальные хостинги DNS.1 = localhost DNS.2 = 127.0.0.1 DNS.3 = ::1 # Перечислите доменные имена DNS.4 = local.dev DNS.5 = my-app.dev DNS.6 = local.some-app.dev
OpenSSL использовали из состава PortableGit.
Открываем файл \PortableGit\git-bash.exe, переключаемся в папку сертификатов и вводим команды
cd "C:\co\app\Apache24" openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ca.key -out ca.pem -new -sha512 -subj "/C=RU/CN=MY-CA" x509 -outform pem -in ca.pem -out ca.crt req -new -nodes -newkey rsa:2048 -keyout localhost.key -out localhost.csr -subj "/C=RU/ST=State/L=City/O=Some-Organization-Name/CN=localhost" x509 -req -sha512 -days 365 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in localhost.csr -out localhost.crt
Устанавливаем сертификат ca.crt средствами Windows
Редактируем файл \Apache24\conf\extra\httpd-ahssl.conf
Перезапускаем веб-сервер (возможно, браузер тоже), открываем базу через https.
Обновление от Окт 2024
Понадобилось опять наладить ssl. В этот раз качал отсюда — https://www.apachelounge.com/download/
httpd.conf:
ServerName localhost:80
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
httpd-ssl.conf:
SSLCertificateFile "${SRVROOT}/certs/localhost.crt"
SSLCertificateKeyFile "${SRVROOT}/certs/localhost.key"
Сертификаты изготовлены по тому же методу.