Разрядность архива Apache требуется выбирать в соответствии с разрядностью платформы 1С.
Скачиваем архив Web-сервера Apache для Windows (apachelounge.com)
VS17 в названии архива Web-сервера Apache относится к требуемой версии компонента Microsoft Visual C++.
Скачиваем распространяемый компонент Microsoft Visual C++ 2017 (microsoft.com)
Редактируем файл любым текстовым редактором типа Блокнот, в примере используется Notepad++ (notepad-plus-plus.org)
Listen [НомерПорта] - устанавливаем любой свободный порт, обязательно открываем его для входящих соединений в брандмауэре Windows, и настраиваем проброс порта на роутере.
ServerName localhost:[НомерПорта] - указываем адрес и порт web-сервера.
ServerAdmin [email] - указываем почту системного администратора.
Запускаем терминал командной строки с правами администратора, переходим в каталог C:\Apache24\bin, запускаем установку службы командой "httpd.exe -k install" (нажмите на код для копирования в буфер обмена)
cd C:\Apache24\bin httpd.exe -k install
В списке служб Windows находим Apache 2.4, ставим автоматический тип запуска, запускаем.
Для настройки роутера в Windows используется Winbox, в Linux для запуска Winbox используется Wine.
Открываем раздел проброса портов: IP => Firewall => NAT.
Создаём правило проброса порта:
Chain - указываем dstnat (проброс из внешней сети во внутреннюю).Protocol - указываем протокол tcp.Dst. Port - указываем номер порта, на который будут приходить данные из внешней сети.In. interface - указываем WAN-интерфейс роутера MikroTik (через него роутер подключен к сети Интернет). Если вы подключены к провайдеру через pppoe, то потребуется указать pppoe вместо WAN.
Настраиваем действия для проброса порта:
Action - указываем netmap (создает переадресацию одного набора адресов на другой).To Adresses - указываем внутренний IP-адрес компьютера, на который роутер должен переадресовать данные.To Ports - указываем номер порта, на который будут приходить данные (рекомендуется сделать его отличающимся от номера входящего порта внешней сети, при этом он должен совпадать с портом, который вы открыли в брандмауэре Windows).
Генерация криптографических ключей
cd C:\Apache24
md ssl
cd ssl
Для генерации секретного ключа сервера нужно в консоли OpenSSL ввести команду
openssl.exe genrsa -out server.key 2048
Получение сертификата
Чтобы получить сертификат веб-сервера, нужно на основе криптографических ключей составить запрос в удостоверяющий центр на выдачу сертификата. Формирование запроса на 730 дней производится командой:
openssl.exe req -new -x509 -days 730 -nodes -out cert.pem -keyout cert.key -subj "/C=COUNTY_NAME/ST=STATE_NAME/L=CITY_NAME/O=COMPANY_NAME/OU=IT/CN=fqdn-name-vm.ru-central1.internal/CN=fqdn-name-vm"
openssl.exe req -config C:\Apache24\conf\openssl.cnf -new -out ssl.csr
Доработать раздел по инструкции dmosk.ru
Доработать раздел по инструкции losst.ru
Доработать раздел по инструкции nizamov.school
Доработать раздел по инструкции https://infostart.ru/1c/articles/1568375
В конфигурационном файле httpd-ssl.conf нужно закомментировать параметр Listen, так как в качестве порта SSL мы будем использовать основной порт, указанный в httpd.conf.
В параметре CN указано внутренний FQDN, на примере виртуальной машины Яндекс.Облако.
Для генерации запроса нужно набрать с клавиатуры ответы на задаваемые вопросы о принадлежности и реквизитах сервера. На этом этапе важно иметь в виду, что для ввода в поле данных пустого значения нужно ввести " . " (точку). Если вместо этого просто нажать клавишу [Enter], то будет принято значение по умолчанию, которое указано в квадратных скобках. А сами данные следующие:
C - County name — двухзначный буквенный код страны;
ST - State or Province Name — название региона, области, района;
L - Locality Name — название населённого пункта;
O - Organization Name — название организации;
OU - Organizational Unit Name — название подразделения;
CN - Common Name — доменное имя сервера;
Email Address — контактный адрес электронной почты;
A challenge password — кодовое слово;
An optional company name — дополнительное название организации;Значения последних двух полей вводить не обязательно. Самое главное — правильно указать доменное имя сервера, потому что именно по этому реквизиру веб-браузеры будут проверять подлинность веб-сервера.
В результате выполнения этой команды будет сформирован файл "server.csr", содержащий необходимую для выдачи сертификата информацию. Этот файл можно отправлять в удостоверяющий центр, после чего ожидать от него ответа.
Сертификат сроком на 365 дней, подписанный секретным ключом сервера "server.key" в ответ на запрос "server.csr", помещается в файл "server.crt".
Настройка веб-сервера
В результате выполнения описанных выше действий в папке "D:\www\conf\ssl" имеются необходимые для работы протокола HTTPS файлы:
server.key — секретный ключ веб-сервера;
server.crt — сертификат веб-сервера.
За обслуживание протокола SSL/TLS отвечает модуль "mod_ssl", который вместе с модулем кеширования и соответствующим файлом настроек нужно подключить к веб-серверу с помощью следующих изменений главного конфигурационного файла "D:\www\conf\httpd.conf":
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
Include ${DOCROOT}/conf/extra/httpd-ssl.confЕсли веб-сервер установлен в соответствии с описанной ранее методикой, то в конфигурационном файле "D:\www\conf\extra\httpd-ssl.conf" нужно все вхождения "${SRVROOT}" заменить на "${DOCROOT}". Кроме того, нужно в этом же файле исправить пути к секретному ключу и сертификату веб-сервера:
#SSLCertificateFile "${DOCROOT}/conf/server.crt"
SSLCertificateFile "${DOCROOT}/conf/ssl/server.crt"
#SSLCertificateKeyFile "${DOCROOT}/conf/server.key"
SSLCertificateKeyFile "${DOCROOT}/conf/ssl/server.key"В том же файле нужно указать правильные имя сервера и контактный адрес электронной почты. Эти реквизиты должны совпадать с теми, которые были введены при формировании запроса на сертификат. Например, для локального сервера доменное имя будет "localhost", а адрес электронной почты — "webmaster@localhost":
#ServerName www.example.com:443
ServerName localhost:443
#ServerAdmin admin@example.com
ServerAdmin webmaster@localhostЕсли после выполненных настроек в адресной строке браузера набрать "https://localhost/", то при использовании самоподписанного сертификата отобразится строгое предупреждение: Действия для посещения сайта с недостоверным сертификатом. Рис. Отключение системы защиты веб-браузера от доступа к сайтам с недостоверными сертификатами. Для "обхода" защиты нужно последовательно нажать кнопки "Подробности" и "Сделать исключение для данного сайта", после чего на экране отобразится страница, полученная с сервера по протоколу HTTPS.
В решении проблем, возникающих при настройке доступа к серверу по протоколу HTTPS, может помочь команда, устанавливающая защищённое протоколом SSL/TLS соединение с веб-сервером:
openssl.exe s_client -connect localhost:443 -state -debug
При её выполнении на экран будут выведены сведения о процедуре согласования параметров безопасного канала передачи данных и этапах его установления. Если канал будет успешно установлен, то можно вводить консольные команды по протоколу HTTP. Например, для получения главной страницы сайта нужно набрать:
GET / HTTP/1.0
Ввод команды нужно завершить двумя нажатиями клавиши [Enter]. В ответ на экран будут выведены:
отправленные на сервер зашифрованные данные; зашифрованные данные, полученные от сервера; расшифрованный ответ сервера.
Открываем стартер 1С от имени администратора.
Запускаем 1С в режиме конфигуратора.
Открываем меню Администрирование => Публикация на веб-сервере.
Указываем имя опубликованной базы, по которому будем к ней обращаться, нажимаем "Опубликовать".
Подтверждаем перезапуск web-сервера для применения настроек.
Проверяем запуск 1С через web по ссылке http://192.168.1.111:25458/name-base (подставьте своё наименование сервера, свой порт, своё наименование опубликованной базы).
1С + Apache + SSL: почему вы должны использовать SSL (infostart.ru)
Цифровые SSL сертификаты. Разновидности, как выбрать? (habr.com)
Настройка HTTPS для Apache 2.4 под Windows (iharsw.login.by)
Мы используем cookie, они помогают нам понять, как вы взаимодействуете с сайтом. Вы можете запретить обработку cookie в настройках браузера.