Проблемы и решения
- Перезапуск рабочих процессов 1С
- Шпаргалка 1С
- IIS 1C Отображение страницы невозможно из-за большого размера объекта запроса
- Пароль приложения
- Как зайти под USR1CV8 на удалённый рабочий стол
- Очистить расширения в базе 1C
- Изменение адреса внешней формы СБИС
- Изменение номера "Документа об отгрузке" СБИС
- Выключение простых форм документов БЭ
- Сохранение файлов БЭ с версии 8.3.13.4
- Многодоговорность во входящих документах СБИС СписокXDTO
- В платформе 8.3.22 перестала работать почта
- В 8.3.13 БЭ спрятали кнопки в списках документов в "ещё" как вернуть?
- СБИС
- Обнаружено нарушение целостности системы 1С
- Проверка установки сертификата ЭЦП организации в 1С:Бухгалтерия
- 1C Bad Image / Невозможно запустить приложение / не предназначена для выполнения
- Организовать API с 1С
- Отсутствует исполняющее ядро для расширения имени файла js
- Перезапуск заданий отложенного обновления
Перезапуск рабочих процессов 1С
Перезапуск рабочих процессов не приводит к вылету пользователей, 1С притормаживает на непродолжительное время.
Помогает при проблемах после динамического обновления (тормозит), при необходимости снизить потребление памяти.
Выключить
Наиболее удобный способ перезапустить рабочий процесс - это ПКМ -> выключить:
Начиная с 8.3.27
Начиная с 8.3.27 используется формат расписания cron для перезапуска процессов.
Например, "0 6 * * *" - это каждый день, в 6 утра. Для быстрого перезапуска, нужно указать текущую минуту.
Например, сейчас 12:04, значит следует указать "4 12 * * *", подождать несколько секунд, вернуть предыдущее значение.
До 8.3.27
Локальный кластер -> Свойства
Копируем интервал перезапуска, вставляем 5, нажимаем Применить:
Через 5 секунд, вставляем обратно, нажимаем Применить:
Запустится ещё один рабочий процесс 1С и начнёт забирать на себя подключения.
В данном случае, старый процесс завершится через 60 секунд:
По истечению этого времени, торможение должно пройти.
Шпаргалка 1С
Ссылки
https://bugboard.v8.1c.ru Публикация ошибок релизов. Зарегистрированные ошибки релизов, выяснить исправлена ли ошибка и в каком релизе. Например
https://its.1c.ru/db/updinfo Информация об обновлениях. Детальное описание изменений в выпущенных релизах.
https://wonderland.v8.1c.ru Технологический блог 1С. Новости от разработчиков платформы.
http://v8.1c.ru/predpriyatie/questions_licence.htm#mvv Вопросы по лицензированию
Потерян LicData
Следует прислать нам файл запроса лицензии формата tx_.txt, сформированный в программе через «Повторное получение лицензии» (Восстановление лицензии) с резервным пин-кодом и предполагаемыми данными об организации. Как формировать файл с данными лицензии описано в руководстве по получению программной лицензии на стр. 14-18.
Если у Вас платформа 8.2.17 и выше, то в диалоге получения лицензии нажмите «Получить лицензию», укажите регистрационный номер и активный пинкод. Далее следует нажать кнопку «Дополнительно», и убрать галочку с «Автоматически». Далее нажмите «ВОССТАНОВЛЕНИЕ», уберите галочку с «Я уверен(-а), что ключевые параметры компьютера не изменялись». И в появившемся ниже окне введите резервный пин-код. Далее введите ПРЕДПОЛАГАЕМЫЕ данные об Организации. После ввода данных об организации появится выбор получения лицензии. Вам следует выбрать «через файл». Сохранить файл tx_.txt, и выслать его нам. Мы укажем, какие данные нужно исправить.
В одном письме следует присылать один файл запроса.
Синхронизация. Недопустимая строка с указанием класса.
Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Проблема наблюдалась при синхронизации между ЗуП и бухией.
regsvr32 "C:\Program Files (x86)\1cv8\8.3.12.1685\bin\comcntr.dll"
64-х разрядная библиотека регистрируется так же:
regsvr32 "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
Иногда нужно снять регистрацию, потом зарегистрировать заново:
regsvr32 "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
regsvr32 /u "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
Выполнять под админом, то есть:
Разблокировка при автоматическом обновлении
/UC ПакетноеОбновлениеКонфигурацииИБ /C РазрешитьРаботуПользователей
Удалить пароль пользователя файловой базы
Хороший метод https://1s-programmist-expert.ru/blog/vtoroy-sposob-sbrosa-parolya-v-1s-tool_1cd
"C:\Program Files\1cv8\8.3.25.1546\bin\cnvdbfl.exe" -c -f 8.2.14 "C:\1C_Base\MyBase\1Cv8.1CD"
Изменить через выгрузку в текстовый файл значения поля DATA у пользоватля в таблицу V8USERS через TOOL_1CD.
Вместо того, что там есть в строке с хэшами (два значения), после 0,0, на 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
"C:\Program Files\1cv8\8.3.25.1546\bin\cnvdbfl.exe" -c -f 8.3.8 "C:\1C_Base\MyBase\1Cv8.1CD"
Дополнительная служба 1С
sc create "1C:Enterprise 8.3 Server Agent (x86-64) 2" binpath= """"%PROGRAMFILES%\1cv8\8.3.26.1521\bin\ragent.exe""" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d """%PROGRAMFILES%\1cv8\srvinfo2""" -debug" DisplayName= "Агент сервера 1С:Предприятия 8.3 (x86-64) TEST" start=auto
IIS 1C Отображение страницы невозможно из-за большого размера объекта запроса
Request Entity Too Large
При получении файла в 22МБ пользователь вылетает из базы с ошибкой:
Ошибка HTTP 413.1 — Request Entity Too Large
Отображение страницы невозможно из-за большого размера объекта запроса.
Добрый день,
Наиболее вроятные причины:
Веб-сервер не может обработать запрос, поскольку объект запроса слишком велик. Веб-сервер не может обработать запрос, поскольку пытается согласовать сертификат клиента, но объект запроса слишком велик. Слишком длинный URL-адрес запроса или физическое сопоставление для URL-адреса (т.е. путь в физической файловой системе к содержимому URL-адреса).
Возможные решения:
Проверьте, что запрос допустим. При использовании сертификатов клиента попробуйте: Увеличить параметр system.webServer/serverRuntime@uploadReadAheadSize Настроить конечную точку SSL на согласование сертификатов клиентов в качестве части начального подтверждения SSL. (netsh http add sslcert ... clientcertnegotiation=enable)
При прямом доступе, без IIS - не вылетает.
Помогло увеличить uploadReadAheadSize до 40 МБ (возможно это не надо делать):
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/serverRuntime" -name "uploadReadAheadSize" -value 41943040
Так проверить:
Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/serverRuntime" -name "uploadReadAheadSize"
установить maxAllowedContentLength в 100 MB в web.config (После этого заработало):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\1cv8\8.3.25.1546\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Перезапуск ISS не потребовался.
Пароль приложения
Инструкция для mail.ru
https://help.mail.ru/mail/mailer/password/
Gmail сделал обязательным использование паролей приложений
С июня этого года gmail аккаунты в 1С нуждаются в перенастройке со стороны пользователя. Пользователю необходимо самостоятельно включить двухфакторную аутентификацию (к аккаунту должен быть привязан номер телефона), и получить от gmail "пароль приложения", который нужно вставить в 1С.
Вот инструкция от google регламентирующая этот порядок:
https://support.google.com/accounts/answer/185833?hl=ru
По ней надо зайти в аккаунт, настроить двухфакторную аутентификацию (телефон), и создать "пароль приложения". Полученный пароль вставить в почтовую программу (TheBat! Thunderbird 1С).



То есть сначала включаем двухфакторную аутентификацию:

Выполняем инструкции, возвращаемся в настройки аккаунта:

В безопасности появился пункт "пароли приложений"

Создаём пароль:

Вставляем его в почтовый клиент (TheBat! Thunderbird 1C)

Как зайти под USR1CV8 на удалённый рабочий стол
Это может понадобиться для того, чтобы проверить/дать доступ к сетевым папкам службе 1С. Если сетевой путь требует аутентификации, то можно его ввести, обращаясь к ресурсу через проводник. При сохранении пароля в проводнике, 1С серверу будет доступен сетевой ресурс на в том числе после перезагрузки (если нет запрета на сохранение пароля).
Для того, чтобы зайти на удалённый рабочий стол USR1CV8, нужно убрать его из политик ограничения, настраиваемых по умолчанию (gpedit.msc): Добавить в группу доступа удалённых рабочих столов:
После того, как нужные ресурсы пользователю стали доступны, необходимо вернуть обратно политики, убрать из группы доступа.
Очистить расширения в базе 1C
MSSQL
При чтении списка расширений в одном случае и при удалении любого из расширений в другом, возникает ошибка "ошибка формата потока" в конфигураторе. Базу удалось запустить очистив таблицу _ExtensionsInfo.
В MSSQL это можно сделать так:
USE [DB_NAME]
GO
DELETE FROM [dbo].[_ExtensionsInfo]
GO
Взято с инфостарта
Время показало, что профит от стирания таблицы _ExtensionsInfo носит временный характер (ошибка проявляется потом).
Очистка таблиц ConfigCAS и ConfigCASSave полностью удаляет расширения
USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCAS]
GO
USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCASSave]
GO
Ещё ссылки по теме
https://www.online-ufa.ru/content/articles/oshibka-formata-potoka-1c/
https://www.online-ufa.ru/content/articles/1c-error-ef/
В клиентском приложении
Ошибка возникала при обновлении базы, в клиентском приложении (8-9%).
Помог следующий код;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИдентификаторыОбъектовРасширений.Ссылка КАК Ссылка
|ИЗ
| Справочник.ИдентификаторыОбъектовРасширений КАК ИдентификаторыОбъектовРасширений";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
О = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
О.ОбменДанными.Загрузка = Истина;
О.Удалить();
КонецЦикла;
Набор = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
Набор.Записать();
Изменение адреса внешней формы СБИС
При отправке, подготовке документа выходит ошибка:
Неизвестная ошибка клиента (Поле объекта не обнаружено (ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С))
В модулях, где идёт обращение к "РаботаСДокументами1С" нужно заменить
Кэш.ТекущийСеанс.Формы.Получены.ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С
на
Кэш.ТекущийСеанс.Формы.Получены.Получить("ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С")
Изменение номера "Документа об отгрузке" СБИС
//--------------------------------- Замена номера документа об отгрузке ------------------------------------
Если Док.Файл.Документ.Свойство("Основание") И ТипЗнч(Док.Файл.Документ.Основание)=Тип("Массив") Тогда
Для каждого О ИЗ Док.Файл.Документ.Основание Цикл
Если О.Название = "ДокПодтвОтгр" Тогда
О.НаимДокОтгр = СтрЗаменить(О.НаимДокОтгр,О.Номер,ПараметрыДляЭДО.НомерДокумента);
О.Номер = ПараметрыДляЭДО.НомерДокумента;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
//--------------------------------- Замена номера документа об отгрузке ------------------------------------
Выключение простых форм документов БЭ
Убедитесь, что выключены простые формы списков документов:
Откройте форму заново, если она была у вас открыта.
Сохранение файлов БЭ с версии 8.3.13.4
Изменился способ сохранения файлов в БЭ:
в версии 8.3.13.3 нужно было выбирать файл:
В общем, теперь нужно выбирать папку, а не файл. Это непривычно, но такова воля разработчика.
Многодоговорность во входящих документах СБИС СписокXDTO
ПараметрыДоговораXDTO = ?(ТипЗнч(XMLДоговор) = Тип("СписокXDTO"),ПараметрыДоговораИзСпискаXDTO(XMLДоговор),XMLДоговор);
ДатаДоговора = ВычленитьДату(ПараметрыДоговораXDTO.ДатаОсн);
Прототип.Договор = ITSP_ВернутьЭлементСправочника("CW_ДоговорыПоГрузоперевозкам",
Новый Структура("НомерДоговора,ДатаДоговора,Наименование,Владелец,Организация,ВалютаДоговора,ВидДоговора",
ПараметрыДоговораXDTO.НомОсн,
ДатаДоговора,
ПараметрыДоговораXDTO.НомОсн+" "+Формат(ДатаДоговора,"ДФ=dd.MM.yy"),
Прототип.Контрагент,
Прототип.Организация,
Прототип.Валюта,
Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком),
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("НомерДоговора,Владелец,Организация,ВалютаДоговора,ВидДоговора"),Истина); // Поиск по всему, кроме наименования и даты. Мало ли может ошиблись. Это не критично
Если НЕ ЗначениеЗаполнено(Прототип.Договор) И (Поставщик = "Трипконт, ООО" ИЛИ Поставщик = "АТТ, ООО" ИЛИ Поставщик = "ПЛ, ООО" ИЛИ Поставщик = "Эвергрин, ООО" ИЛИ Поставщик = "Терминал Авто-ВМРП, ООО" ИЛИ Поставщик = "ТФЛ, ООО") Тогда
Прототип.Договор = ВернутьПоследнийДоговорБЭ(Прототип.Контрагент,Прототип.Организация,Прототип.Валюта,Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Прототип.Договор) Тогда
МассивСообщений.Добавить("Не удалось найти договор "+ПараметрыДоговораXDTO.НомОсн+" от "+Формат(ДатаДоговора,"ДФ=dd.MM.yy")+" с "+Прототип.Контрагент);
Возврат Неопределено;
КонецЕсли;
&НаСервереБезКонтекста
Функция ПараметрыДоговораИзСпискаXDTO(ОснованияСписокXDTO)
Наименьшее = Неопределено;
НаименьшееДатаОсн = Неопределено;
Для каждого С ИЗ ОснованияСписокXDTO Цикл
Если НаименьшееДатаОсн = Неопределено ИЛИ НаименьшееДатаОсн > С.ДатаОсн Тогда
НаименьшееДатаОсн = С.ДатаОсн;
Наименьшее = С;
КонецЕсли;
КонецЦикла;
Возврат Наименьшее;
КонецФункции
&НаСервереБезКонтекста
Функция ВернутьНаименьшееЗначениеПоляСписокXDTO(СписокXDTO,Поле)
Наименьшее = Неопределено;
Для каждого С ИЗ СписокXDTO Цикл
Если Наименьшее <> Неопределено И Наименьшее > С[Поле] Тогда
Наименьшее = С[Поле];
КонецЕсли;
КонецЦикла;
Возврат Наименьшее;
КонецФункции
В платформе 8.3.22 перестала работать почта
В conf.cfg добавить опцию IgnoreInternetMailServerCertificateVerificationList:
IgnoreInternetMailServerCertificateVerificationList=imap.gmail.com;smtp.gmail.com
В баг репорте ошибка описана для почты gmail, но у нас свой почтовый сервер и ошибка та же самая, и попутно было обнаружено, что и с mail.ru такая же есть ошибка, а вот Yandex.ru ошибку не дает.
Файл conf.cfg находится в папке C:\Program Files\1cv8\conf (для 64 платформы).
https://infostart.ru/1c/articles/1892304/
В 8.3.13 БЭ спрятали кнопки в списках документов в "ещё" как вернуть?
Добавление кнопок
Вернём на панель кнопку "установить период":

Теперь кнопка есть на панели:

Копирование настроек
Выполненную настройку формы списка можно скопировать остальным пользователям:
СБИС
Проверка xml файла
https://online.sbis.ru/page/check-xml/
Изменение доп номеров
Док.Файл.Документ.Номер = ПараметрыДляЭДО.НомерДокумента; //--------------------------------------------------------------------- Для каждого Вл ИЗ Контекст.СоставПакета.Вложение Цикл Попытка Если Вл.Тип = Док.Файл.Формат Тогда Вл.Название = СтрЗаменить(Вл.Название,"№ "+Вл.Номер,"№ "+ПараметрыДляЭДО.НомерДокумента); Вл.Номер = ПараметрыДляЭДО.НомерДокумента; Прервать; КонецЕсли; Исключение КонецПопытки; КонецЦикла; //--------------------------------------------------------------------- Если Док.Файл.Документ.Название = "Счет-фактура" Тогда Для каждого О ИЗ Док.Файл.Документ.Основание Цикл Если О.Название = "ДокПодтвОтгр" Тогда О.Номер = ПараметрыДляЭДО.НомерДокумента; КонецЕсли; КонецЦикла; КонецЕсли;
Обнаружено нарушение целостности системы 1С
Инструкция из мультикей
Происходит это когда 1С обнаруживает драйвер VUSBBus.
1) наличие/отсутствие ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP ни на что не влияет;
2) чтобы произошел вылет - должна существовать служба vusbbus и обязательно двоичный файл этой службы (обычно \SystemRoot\system32\DRIVERS\vusbbus.sys);
3) если хотя бы одно из условий п.2 не выполняется - вылета нет.
- Как устранить проблему:
1. В диспетчере устройств ищем, и если есть, удаляем в Системных устройствах - Virtual Usb Bus Enumerator (желательно поставить галку Удалять программы драйвера)
2. Открываем консоль от админа
3. Проверяем наличие службы - sc query vusbbus
4. Если ошибка 1060 - все хорошо, службы нет, работать будет
5. Узнаем имя файла службы - sc qc vusbbus
6. Удаляем указанный файл (SystemRoot обычно равно C:\WINDOWS)
7. Удаляем службу - sc delete vusbbus
Остальное
Удалите эмулятор HASP. Эмуляторов существует много поэтому трудно написать универсальную инструкцию по их удалению. Можете попробовать воспользоваться следующими шагами:
Найдите и удалите файлы VUsb.sys и vusbbus.sys
Выполните команды в командной строке от имени Администратора:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
del %systemroot%\system32\drivers\haspflt.sys
Рекомендуется удалить также ветки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulator
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emu
Проверка установки сертификата ЭЦП организации в 1С:Бухгалтерия
Администрирование - Обмен электронными документами. Далее гиперссылка Настройки электронной подписи и шифрования. Вкладка Сертификаты. Показатель: "Все сертификаты". Если в списке нужного сертификата нет, то жмем Добавить - Из установленных на компе. После этого из табличной части открываем нужный сертификат. Проверяем Организацию, Пользователей (оставить пустым) и Программу.

и нажимаем "Проверить". При проверке пароль (как правило, либо пусто, либо от 1 до 8).
Если все "шарики" зелёные — хорошо.
Если нет, то нажимаем кнопку "Сохранить в файл..." (см. картинку - рядом с кнопкой "Проверить").
Затем запускаем КриптоПро (или Випнэт) и переустанавливаем сертификат из сохраненного на предыдущем шаге файла с подтяжкой к нужному контейнеру (можно поставить флаг автоматического поиска нужного контейнера).
И после этого возвращаемся в 1С и повторяем Проверку. Все шарики должны быть зелеными*.

* Если 1С на сервере, то шарики могут быть расположены в два ряда (в зависимости от условий подключения к базе): один ряд - пользовательский комп, второй - сервер.
1C Bad Image / Невозможно запустить приложение / не предназначена для выполнения
Невозможно запустить приложение на вашем компьютере
Bad Image
Не предназначена для выполнения в Windows
Помог Способ №1
https://forum.infostart.ru/forum86/topic181343/
Организовать API с 1С
Apache
Качаем Apache, копируем на диск C
httpd.conf
# === Основные настройки ===
Define SRVROOT "C:/Apache24"
ServerRoot ${SRVROOT}
Listen 4453
ServerAdmin admin@example.org
ServerName terminal.example.org
# === Размер тела запроса (100MB) ===
LimitRequestBody 104857600
# === Поддержка Keep-Alive для долгих запросов 1С ===
KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 300
Timeout 600
# === Настройки ядра ===
AcceptFilter https none
AcceptFilter http none
EnableSendfile Off
EnableMMAP Off
# === Загрузка необходимых модулей ===
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.27.1859/bin/wsap24.dll"
LoadModule headers_module modules/mod_headers.so
LoadModule alias_module modules/mod_alias.so
# === Корневая директория ===
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# === Запрет доступа к системным файлам ===
<Files ".ht*">
Require all denied
</Files>
<DirectoryMatch "^.*/\..+">
Require all denied
</DirectoryMatch>
# === Логи ===
ErrorLog "logs/error.log"
LogLevel warn
CustomLog "logs/access.log" common
# === SSL ===
<IfModule ssl_module>
SSLEngine On
SSLCertificateFile conf/ssl/cert.pem
SSLCertificateKeyFile conf/ssl/key.pem
SSLCACertificateFile conf/ssl/ca.crt
SSLProtocol -all +TLSv1.2
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder On
#SSLOpenSSLConfCmd CertificateVerification require
SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(2048000)"
SSLSessionCacheTimeout 300
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
CustomLog "${SRVROOT}/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=HTTPS
</IfModule>
# === Публикация базы 1С ===
Alias "/post4egor" "bases/post4egor"
<Directory "bases/post4egor">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "bases/post4egor/default.vrd"
#Header set Cache-Control "no-store, no-cache, must-revalidate"
#Header set Pragma "no-cache"
SSLVerifyClient require
SSLRequire %{SSL_CLIENT_S_DN_CN} eq "Apache1CPub"
</Directory>
# === Индексный файл ===
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
default.vrd
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/post4egor"
ib="Srvr="onec";Ref="post4egor";usr="1CAPIUser";pwd="keef9yooy3Ze1itiexie";">
<httpServices publishByDefault="false">
<service name="Api"
rootUrl="api"
enable="true"
reuseSessions="autouse"
sessionMaxAge="60"
poolSize="20"
poolTimeout="10">
</service>
</httpServices>
</point>
Сертификат для веб-сервера
openssl req -x509 -nodes -days 3650 -newkey rsa:3072 \
-keyout key.pem \
-out cert.pem \
-subj "/C=RU/ST=Moscow/L=Moscow/O=Company/OU=IT/CN=localhost"
CA
openssl req -new -newkey rsa:3072 -nodes -keyout ca.key -x509 -days 3650 \
-subj /C=RU/ST=Msk/L=Msk/O=MyOrg/OU=MyUnit/CN=IT/emailAddress=usr@localhost \
-out ca.crt
О том, как выпустить клиентские сертификаты в Apache написано тут:
https://www.opennet.ru/base/sec/ssl_cert.txt.html
Проверка
POST
curl -X POST \
--cert-type P12 \
--cert ./Apache1CPub.p12 \
--pass "" \
-H "Content-Type: application/json" \
-d '{"key": "value"}' \
-k \
"https://apachehost:4453/post4egor/hs/api/v1/TakeJSON"
GET
curl -X GET \
--cert-type P12 \
--cert ./Apache1CPub.p12 \
--pass "" \
-k \
"https://apachehost:4453/post4egor/hs/api/test/"
Отсутствует исполняющее ядро для расширения имени файла js
Выполнить reg файл
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.JS]
@="JSFile"
Взято отсюда: https://nidler.pro/kak-ispravit-oshibku-otsutstvuet-ispolnyayushhee-yadro-dlya-rasshireniya-imeni-fajla-js/
Ещё вариант (не пробовали):
https://kuharbogdan.com/forums/topic/kak-ispravit-oshibku-otsutstvuet-ispolnjajushhee-jadro-dlja-rasshirenija-js/