По мотивам http://tavalik.ru/nastrojka-veb-dostupa-k-bd-1spredpriyatie-na-iis и еще некоторых собранных заметок
Для публикации требуются следующие шаги:
IIS устанавливаем традиционно через Диспетчер серверов (Server Manager). Должны быть установлены следующие компоненты:
Установка веб-сервера IIS
Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:
После переустановки может понадобится перезагрузка сервера.
На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:
Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера и установить компоненту:
Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:\inetpub\wwwroot\ ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).
Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS.
Запускаем от имени Администратора (Run as Administrator) «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. В меню выбираем «Администрирование» —> «Публикация на веб-сервере…»
Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:
Выбрав необходимые настройки публикации нажимаем «Опубликовать».
Включаем поддержку 32-х разрядных приложений: Пулы приложений (Application Pools) → DefaultAppPool → Дополнительные параметры (Advanced Settings) → Разрешены 32-разрядные приложения (Enable 32-Bit Applications) установить в True
Для каждой опубликованной базы необходимо проверить настройки Сопоставления обработчиков (Handler Mappings). 1C Web-service Extension должен указывать на текущую версию 1С, например C:\Program Files (x86)\1cv8\8.3.12.1469\bin\wsisapi.dll и если была установлена новая конфигурация - данные настройки необходимо скорректировать.
Ошибка говорит, что проблема в настройках безопасности сервера IIS. Для того, чтобы обойти общие настройки безопасности, необходимо отредактировать файл публикации «web.config», который находится в каталоге с вашей публикацией, а именно:
1. Добавить параметр в раздел system.webServer:
<security> <requestFiltering allowDoubleEscaping="true" /> </security>
2. Добавить параметр в раздел configuration
<system.web> <pages validateRequest="false" /> <httpRuntime requestPathInvalidCharacters="" /> </system.web>
и перезапустить IIS. Функциональность будет полная. После повторной переопубликации базы из 1С изменения нужно будет вносить заново.
Что должно быть подготовлено заранее:
Загружаем последний релиз с сайта https://github.com/win-acme/win-acme/releases/ и распаковываем куда-нибудь, например в C:\inetpub\letsencrypt
Запускаем cmd с правами Администратора:
И переходим в папку, куда распаковали win-acme:
cd c:\inetpub\letsencrypt
Запускаем в cmd файл wacs.exe, при первом запуске вводим адрес e-mail (для уведомлений об истечении сртификата) и соглашаемся с условиями использования:
Вводим «N», нажимаем Enter.
Выбираем наш опубликованный сайт mobile.site.ru, ждем некоторое время чтобы сертификат успешно установился.
Проверяем полученный сертификат: открываем наш сайт mobile.site.ru - браузер не должен ругаться на сертификат. Так же можно проверить при помощи какого-нибудь сервиса, например https://www.sslshopper.com/ssl-checker.html
В Tash Scheduler'е автоматически добавляется ежедневная задача для продления сертификата, поэтому его не нужно обновлять руками.
Готово, можно пользоваться.
Чтобы сделать редирект (перенаправление) HTTP на HTTPS нужно установить модуль Microsoft URL Rewrite Module:
https://{HTTP_HOST}/{R:1}
<rewrite> <rules> <rule name="HTTP to HTTPS Redirect" enabled="true" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule> </rules> </rewrite>