Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
1. Job for httpd.service failed because the control process exited with error code.
2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»
5. Ошибка HTTP 404 Not found
6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Job for httpd.service failed because the control process exited with error code.
Полный текст ошибки:
Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details. |
Описание ошибки:
После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.
Данное сообщение говорит о том, что процесс был завершен с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.
Решение:
Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.
В результате выполнения команды будет выдано более подробное сообщение об ошибке.
Разбор, которых приведен в статье далее.
Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
Полный текст ошибки:
сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf: сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration |
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.
vim /etc/httpd/e1c/base.conf |
Пример ошибочной строки. Команды forceHandler — на самом деле не существует :
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted forceHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Исправим файл. Укажем корректное наименвоание команды — SetHandler:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
Полный текст ошибки:
Начат процесс запуска юнита httpd.service. сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf: сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server. — Subject: Ошибка юнита httpd.service |
Описание ошибки:
Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».
В этом можно убедиться выполнив команду.
cat /etc/httpd/conf/httpd.conf | grep wsap |
Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует — модуль не прописан.
Решение:
Отредактировать конфигурационный файл httpd.conf
vim /etc/httpd/conf/httpd.conf |
Добавить строку:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so» |
Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»
Полный текст ошибки:
cat /var/log/httpd/error_log |
Описание проблемы:
При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») — сеанс не запускается.
Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).
Решение:
1. Убедиться, что selinux, действительно, работает.
Если видим Enforcing, значит переходим к следующему пункту.
2. Отключить selinux:
3. Проверить, что настройка выполнена.
Permissive – включен, но ничего не запрещает.
Enforcing – включен, работает, и запрещает.
Ошибка HTTP 404 Not found
<strong>Пример полного текста ошибки:</strong> 404 Error in Request. HTTP Status: 404 — Not found |
<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» /> HTTP 404 Not found The webpage cannot be found |
Описание:
После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.
Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.
Решение:
Ошибка часто связана с неправильным вводом имени базы/папки публикации.
Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.
Проверить имена публикации базы(выделено):
1. Конфигурационный файл *.conf:
vim /etc/httpd/e1c/base.conf |
следующего содержания:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
2. Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису.
Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws
Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Пример полного текста ошибки:
Описание:
При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.
Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.
Решение:
Проверить имена веб-сервисов и ссылок на них.
-
- Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.
В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.
Ошибка 1С 8 при публикации базы: Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности платформы (64) и веб-сервера (32). Публикация не выполнена.
Описание ошибки:
После установки платформы 1С: Предприятие 8 разрядности x64 (ранее была установлена платформа 1С 8 разрядности x32) при попытке обновить публикацию базы на веб-сервере возникла ошибка «Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности». Платформа 1С: Предприятие 8.3.18.1289
Найденные решения:
Пересказывать процесс настройки веб-сервера 1С на Apache нет смысла, т.к. уже есть достойная пошаговая инструкция на сайте infostart.ru. Поэтому перейдем к проблеме, с которой можно столкнуться в процессе окончания настройки и попытки непосредственной публикации базы по нажатию кнопки «Опубликовать».
Рис. 1. Ошибка при попытке «Опубликовать» базу 1С 8 на веб-сервере Apache, когда различаются разрядности
Ошибка так же может быть и немного в другой формулировке — наоборот, что разрядность платформы (32), а веб-сервера (64). И это возникает по одной простой причине, что разрядность платформы 1С:Предприятие 8 и веб-сервера должны быть одинаковыми. Т.е. было нарушено это правило, когда была установлена x64 платформа 1С 8.
Логично, что ранее был установлен и работал Apache соответствующей 32 разрядности. Теперь необходимо было скачать и установить Apache разрядности x64.
Послу установки или переустановки Apache необходимо так же в файле httpd.conf сервера Apache изменить строку, в которой указан файл самой 1С для взаимодействия с веб-сервером «wsap24.dll»
Рис. 2. Добавление в файл «httpd.conf» Apache записи для загрузки модуля веб-сервера «wsap24.dll» для x32-разрядной 1С 8
В данном примере пришлось изменить путь с «Program Files (x86)» на «Program Files» и указать каталог соответствующего установленного релиза платформы.
Нажатие на изображении увеличит его
Рис. 3. Добавление в файл «httpd.conf» Apache записи для загрузки модуля веб-сервера «wsap24.dll» для 64-разрядной 1С 8
Если ранее стоял Apache другой разрядности. То его лучше предварительно удалить. После установки с другой разрядностью служба сервера «Apache2.4» может не стартовать, т.к сохранился старый путь к исполняемому файлу службы. Для этого необходимо запустить редактор реестра Windows. В дереве перейти к ветке «HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Apache2.4» и у строкового параметра ImagePath изменить значение пути к исполняемому файлу.
Нажатие на изображении увеличит его
Рис. 4. Указание пути к файлу службы сервера Apache после переустановки в редакторе реестра Windows
Но после всех указанных действий и успешного запуска службы Apache платформа 1С упорно отказывалась видеть 64-разрядную версию веб-сервера. Сохранялась ошибка «Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности платформы (64) и веб-сервера (32)» после нажатия на кнопку «Опубликовать».
Прошли долгие искания, пока по запросу «1с 8 веб сервер при публикации не видит apache» не был получен любопытный ответ на странице форума сайта infostart.ru о том, что когда Apache установлен не в каталоге «Program Files», то 1С его не видит:
Нажатие на изображении увеличит его
Рис. 5. Определение причины, почему 1С 8 не видит Apache 2.4
Так же эту информацию подтвердила ссылка ниже на сайт ИТС все на той же странице инфостарта. Т.к. 1С ищет файл конфигурации httpd.conf в каталоге установки по умолчанию: C:\Program Files\Apache Software Foundation\Apache2.4\conf (для разрядности Apache x64), а в моем случае установка была выполнена в другой каталог, то как и пользователю, мне помогло ручное создание каталога и копирование в него файла httpd.conf. Соответственно для Apache 32 разрядности каталог будет «Program Files(x86)».
Нажатие на изображении увеличит его
Рис. 6. Вариант решения проблемы того, что 1С 8 не видит установленный Apache 2.4 в качестве веб-сервера.
Поэтому для цели работы Apache в связке с 1С необходимо, чтобы установка веб-сервер в лучшем случае выполнялась в каталог «по умолчанию».
После этого оставалось преодолеть еще трудность, состоявшую в том, что в окне «Публикация на веб-сервере» в конфигураторе 1С 8 в списке поля «Веб-сервер» оказался доступен только «Internet Information Services».
Рис. 7. Ситуация, когда в конфигураторе 1С 8 при публикации на веб-сервере доступен только IIS
Но эта проблема решилась тем, что дополнительно нужно выполнить установку Apache в качестве службы ОС с помощью команды -k install в командной панели.
Нажатие на изображении увеличит его
Рис. 8. Установка Apache 2.4 в качестве службы Windows, чтобы не получить сообщение «Веб-серверы не обнаружены»
После данных операций наконец-таки стало возможно «Опубликовать» базу на веб-сервере Apache 2.4 и она и другие базы были опубликованы. И стал возможен запуск через браузер и через веб-клиент платформы на локальном рабочем месте.
Но еще оставалось преодолеть последнюю проблему. После того, как вроде казалось, что публикация настроена и база опубликована. при попытке открытия в веб-браузере публикация зависала при запуске базы 1с. Либо появлялась картинка запуска 1С, но не доходило до окна выбора пользователя. Либо просто ничего не происходило, не выдавая ошибку и 8ка в браузере зависала на заставке 1С (в конкретном случае для Apache 2.4).
Нажатие на изображении увеличит его
Рис. 9. Пример зависания при запуске 1С 8, опубликованной на веб-сервере, в браузере. Не открывается окно выбора пользователя
Либо для другой базы возникала ошибка «Произошел временный сбой интернет-соединения».
Нажатие на изображении увеличит его
Рис. 10. Ошибка при зависании базы 1С, опубликованной на веб-сервере, в браузере. Диалог авторизации пользователя не открывается.
Подключение базы через тонкий клиент — работало через ошибку, но все-таки открывалось окно для авторизации пользователя и база запустилась. Либо, принудительно нажимая кнопку «Выполнить запуск», либо дождавшись время истечение таймера на этой кнопке база открывалась.
Нажатие на изображении увеличит его
Рис. 11. Ошибка HTTP при обращении к серверу: http:// Failure when receiving data from the peer (Сбой при получении данных от пира).
Но хотелось довести дело до окончательного финального результата, ведь доступ к базе мог потребоваться именно через web-браузер на любом стороннем рабочем месте.
Есть рекомендация для случая серверной базы — очистить кэш сервера в srvinfo\reg_1541 на форуме mista.ru. Но в данном примере базы файловые.
Анализ логов ошибок Apache в файле «error.log» показал на ошибку «[ssl:warn] [pid 20524:tid 388] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name», что переводится как «Сертификат сервера НЕ включает идентификатор, который соответствует имени сервера».
Нажатие на изображении увеличит его
Рис. 12. Ошибка в логе ошибок «error.log» сервера Apache 2.4, когда происходит попытка обращения к базе в веб-браузере.
По данной ошибке нашлось две страницы, Certificate does NOT include an ID which matches the server name и How to Fix the XAMPP “Server Certificate Does NOT Include an ID Which Matches the Server Name” Error рекомендации с которых собирательно указвают на то, чтобы изменить в настройках файла «httpd-ssl.conf» строку, содержащую адрес сервера с «ServerName www.example.com:443″ на «ServerName localhost:8080«.
Рис. 13. Данные в файле «httpd-ssl.conf» сервера Apache: имя сервера, размещение файла SSL-сертификата
После изменения, сохранения и перезапуска Apache проблема того, что 1С в браузере висела осталась, но явно уже этой ошибки в логе «error.log» не было.
Поиски продолжались. Был установлен сертификат из файла сертификата безопасности «conf/ssl.crt/server.crt» (см. предыдущий скрин для определения размещения файлов по данным файла «httpd-ssl.conf«).
Рис. 14. Установка SSL-сертификата сервера Apache.
Попытка по инструкции установить сертификат в хранилище доверенных не дала положительных результатов. На этом попытки довести работоспособность в веб-браузере был приостановлены. Надеюсь, что приведенные варианты действий после преодоления проблемы с разной разрядностью платформы 1С 8 и веб-сервера Apache окажутся кому-нибудь все-таки полезными, т.к. кому-то они действительно помогли. Вариант работать с базой через веб-клиент, установив на рабочем месте платформу соответствующей разрядности удовлетворял, как возможный и позволяющий вести работу.
Если появится решение окончательной проблемы, то, конечно, эта статья, будет дополнена информацией.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
09-08-2021
Журавлев А.С.
(Сайт azhur-c.ru)
О чем пойдет речь?
Безопасность для многих всегда идет на первом месте, многие интернет-гиганты, типа Google даже добавляют в свои браузеры предупреждения, что соединение не безопасно, если на сайте не используется SSL-сертификат.
1С:Предприятие тоже может работать по протоколу HTTPS.
Мы предлагаем статью-инструкцию, как настроить HTTPS в Apache таким образом, чтобы 1С:Предприятие работало без проблем через SSL.
Ну что же начнем…
Для начала установим Apache. Рассмотрим это для 1С:Предприятие x86-64 и для Windows.
1. Идем на сайт https://www.apachehaus.com/cgi-bin/download.plx и качаем файл httpd-2.4.55-o111s-x64-vs17.zip (цифры на момент скачивания могут быть другими).
2. Устанавливаем Apache.
Первое что нужно сделать — установить Visual C++ 2008 Redistributable Package. После его установки распаковываем архив в корневой каталог любого диска. Например c:\Apache24.
Для проверки работоспособности делаем следующее:
- открываем командную строку (нажимаем Win+r и в появившееся окно вводим cmd)
- переходим на диск, куда распаковали Апач (например x:)
- переходим в директорию с исполняемыми файлами Апач (например cd \Apache 24\bin)
- запускаем Апач (httpd.exe + Enter). Если не появилось ошибок, то Апач запущен. Предупреждения не останавливают работу сервера
- открываем браузер и вводим адрес http://localhost. Если все сделано правильно и без ошибок, то отобразится приветственная страница Апача
3. Теперь зарегистрируем Апач как сервис в системе, что бы он стартовал самостоятельно. Это делается так:
- открываем нашу любимую командную строку от имени администратора
- переходим в папку с распакованным Апачем (например cd \Apache 24\bin)
- выполняем httpd -k install
- и запускаем Апач командой httpd -k start
Настройка Apache по SSL
4. Отлично. Apache установлен, теперь давайте настроем его работу по SSL.
Находим в папке c:\Apache 24\conf файл httpd.conf
Дописываем строку Listen 443
Это стандартный порт HTTPS. Заставляем Apache слушать и этот порт тоже. Если нам не нужен стандартный 80-ый порт и мы не планируем его использовать, то строку Listen 80 можно закомментировать добавив символ # (решетки) в начале строки. Так же имейте ввиду, что при изменении файлов в папке Program Files потребуется открытие файла в режиме администратора.
Раскомментируем в файле httpd.conf строчку
#LoadModule ssl_module modules/mod_ssl.so
Убрав символ #. Т.е. строка должна стать такой:
LoadModule ssl_module modules/mod_ssl.so
4. В конце файла httpd.conf изменяем
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
на:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLSessionCache none
</IfModule>
Записываем файл httpd.conf
5. Из каталога bin установленной папки с Apache скопируем файлы ssleay32.dll и libeay32.dll в C:\Windows\System32. Так же скопируем файл openssl.cnf из папки c:\Apache 24\conf\ в папку c:\Apache 24\bin\.
6. Запустим редактор реестра regedit (Пуск > Выполнить ввести текст regedit и нажать Enter) откроется окно реестра в нем найдем ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2.4
В этой ветке найдем переменную ImagePath и два раза кликнем на ней.
Добавим ключ запуска -D ssl
7. Добавим SSL-сертификаты для домена. Тут есть варианты…
7.1. Если у Вас уже есть SSL-сертификаты для домена, то создайте папку ssl в папке C:\Apache 24\conf и переместите их туда (файлы *.key и *.cert). Идем на шаг 8.
7.2. Если у Вас нет SSL-сертификатов, то вы можете их сгенерировать самостоятельно.
7.2.1. Открываем командную строку в режиме администратора и переходим в папку bin Apache. Вводим команду:
cd «C:\Apache 24\bin»
7.2.2. Далее вводим:
openssl req -config openssl.cnf -new -out ssl.csr
Идем по шагам в командной строке и заполняем необходимые поля. То, что вы введете не принципиально. Самое главное на этом этапе надо запомнить пароль (когда спросит pass phrase)
7.2.3. Выполним:
openssl rsa -in privkey.pem -out ssl.key
Спросит пароль, который вы вводили ранее.
7.2.4. Затем:
openssl x509 -in ssl.csr -out ssl.cert -req -signkey ssl.key -days 3000
days — это срок действия сертификата в днях.
7.2.5. Ну и наконец:
openssl x509 -in ssl.cert -out ssl.der.crt -outform DER
7.2.6. Создадим папку ssl в C:\Apache 24\conf и переместим из папки bin файлы ssl.key и ssl.cert (а вообще можно все сразу туда скопировать, что было получено на шагах 7.2.1. — 7.2.5) из C:\Apache 24\bin в C:\Apache 24\conf\ssl.
8. Снова открываем файл httpd.conf из папки C:\Apache 24\conf и добавляем секцию VirtualHost в самый конец файла httpd.conf:
<VirtualHost demo.soft.ru:443>
SSLEngine On
SSLCertificateFile conf/ssl/ssl.cert
SSLCertificateKeyFile conf/ssl/ssl.key
</VirtualHost>
Вместо адреса demo.soft.ru замените на свой сайт или IP-адрес, а можно вообще поставить звездочку (*) и будет *:443 (это означает, что сработает для всех запросов). Ну и если у вас есть свои ключи, и вы их не генерировали сами, то переименуйте ssl.cert и ssl.key
9. Перезапустим Apache. Открываем Monitor в правом нижнем углу, щелкнем по иконке и нажимаем restart. Если все хорошо, то Apache запустится без ошибок и появится зеленый значок.
10. Пробуем открыть сайт через HTTPS. В нашем случае можно и так https://localhost и вот так https://demo.soft.ru:
Обратите внимание на то, что сертификат самоподписанный и службы типа антивируса Касперского понимают, что дело не очень… Это нормально, так как ваш сертификат не был изготовлен корневыми центрами сертификации. Но если вы захотите использовать https внутри организации, то почему бы и нет?
11. Теперь попробуем запустить 1С. В браузере открывается:
Теперь попробуем открыть базу через тонкий клиент и если мы использовали самодписанный сертификат то тут нас ждет разочарование:
Ошибка HTTP при обращении к серверу … Удаленный узел не прошел проверку.
12. Дело в том, что сервер 1С содержит собственный контроль достоверности HTTPS-соединений и корневых центров.
Необходимо открыть папку сервера 1С:Предприятия c:\Program Files\1cv8\8.3.15.1747\bin\ и в ней найти файл cacert.pem
Он отвечает как раз за эти центры сертификации.
Открываем командную строку и в ней выполняем команду:
openssl x509 -inform der -in ssl.der.crt -out ssl.pem -text -fingerprint -md5
После выполнения команды на экране Вы увидите Fingerprint. Скопируйте его. Это будет строка вида:
MD5 Fingerprint=64:5C:11:03:46:F1:22:9A:5B:C3:DD:AA:CC:EE:FF:A3
Откройте файл cacert.pem в папка 1С, перейдите в конец файла и с этой строки начинайте добавление своего сертификата в файл cacert.pem. После строки контрольной суммы сертификата, нужно добавить в файл cacert.pem содержимое файла, в который Вы экспортировали сертификат.
После этого запуск тонкого клиента будет работать без ошибок.
Если же и после этого есть ошибки, то можно вообще заставить клиент 1С не проверять сертификат. Для этого необходимо отредактировать информационную базу:
Далее:
Ну и наконец заветное окно:
Пробуем запустить и…
Все замечательно работает по https.
Отлично. Вы все настроили!
Vir_Rus
21.08.19
✎
14:32
Добрый день!
Не получается опубликовать веб сервис. Точнее обратиться к нему через браузер — пишет ошибка 404 (страница не найдена).
Самописная конфигурация, платформа 1С 8.3. Веб сервер Апаче 2.2. База 1с находится на одном сервере, сервер 1с на другом, сервер апаче на третьем.
При публикации веб сервиса через: Администрирование — Публикация на веб-сервисе… — создается в каталоге файл default.vrd.
Пытаюсь в браузере (с сервера апаче) перейти по адресу «http://localhost/Имя_указанное_при_публикации/ws/имя_сервиса?wsdl»; — выдает ошибку 404.
Не понимаю уже в какую сторону копать. Перерыл весь интернет, из подобных проблем — описано только в одной теме (http://www.bizkit.ru/2013/05/24/1722/). Но она не помогла…
Есть у кого какие идеи, в каком направлении искать?
Спасибо
Vir_Rus
21.08.19
✎
14:45
Есть в браузере зайти просто в локалхост, он видит только этот единственный файл, его можно посмотреть — содержание ниже:
<?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=»/Obmen»
ib=»Srvr="10.194.11.201";Ref="gdctest2";»>
<ws publishExtensionsByDefault=»true»>
<point name=»Obmen»
alias=»ws1.1cws»
enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
</ws>
<standardOdata enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
</point>
НЕА123
21.08.19
✎
14:50
ХЗ.
м.б. конфигуратор при публикации был запущен не под администратором
Vir_Rus
21.08.19
✎
14:57
Если я не ошибаюсь, то не получится опубликовать не из под админа…
Дело не в этом.
Может нужны какие-то дополнительные манипуляции с апачем?
Жан Пердежон
21.08.19
✎
15:23
(3) ну так почитал бы гайды сначала, с IIS тоже манипуляции могут потребоваться
Vir_Rus
22.08.19
✎
12:41
Всем привет!
Была проблема в сервере. Установил Апаче на свой ПК и с него все развернул и запустил. Заработало сразу.
Но при попытке выполнить процедуру веб сервиса вываливается ошибка:»{ОбщаяФорма.ФормаОбмена.Форма(26)}: Ошибка при вызове метода контекста (Приветствие): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {Obmen}:Hello:Приветствие(): При вызове веб-сервиса произошла ошибка. Ошибка HTTP: HTTP Status 500 — Внутренняя ошибка сервера.
1C:Enterprise 8 application error:Ошибка при разборе дескриптора виртуальных ресурсовby reason: Файл не обнаружен ‘C:\www\default.vrd’. 2(0x00000002): Не удается найти указанный файл.»
Почему в ошибке указан файл в папке C:\www? я его ни где не прописывал…
Решил изменить в конфиге апача директорию документов как раз на www, чтобы 1с создала там нужный файл.
Ошибка не пропала. Пробовал и сервер из под админа запускать, права на папку есть у всех (в том числе и у админа, от которого пробовал запускать сервер).
Vir_Rus
22.08.19
✎
12:46
В базе веб сервиса в процедуре следующий код:
Функция Приветствие(Параметр1)
Возврат Неопределено;
КонецФункции
В другой базе добавил ws-ссылку на веб сервис.
Пытаюсь подключиться:
Соединение = WSСсылки.WSСсылка1.СоздатьWSПрокси(«Obmen»,»Hello»,»HelloSoap»);
Соединение.Пользователь = «****»;
Соединение.Пароль = «****»;
Попытка
Ответ = Соединение.Приветствие(«132»);
Сообщить(Ответ);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
в результате ошибка.
Пробовал и динамически создавать подключение:
УРЛ = «http://localhost:80/Hello/ws/ws2.1cws?wsdl»;;
Пространство = «Obmen»;
ИмяСервиса = «Hello»;
ИмяТочкиПодключения = «HelloSoap»;
Попытка
Определение = новый WSОпределения(УРЛ,,,,20);
Соединение = Новый WSПрокси(Определение,Пространство,ИмяСервиса,ИмяТочкиПодключения,,150);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Получаю следующую ошибку:
{ОбщаяФорма.ФормаОбмена.Форма(15)}: Ошибка при вызове конструктора (WSОпределения): При создании описания сервиса произошла ошибка. URL сервиса: http://localhost:80/Hello/ws/ws2.1cws?wsdl
Код ответа сервера: 500
ptiz
22.08.19
✎
13:06
(5) «я его ни где не прописывал» — ищи в файле настроек апача httpd.conf
Vir_Rus
22.08.19
✎
13:17
(7) в том то и дело — там даже намека нет на эту папку, точнее не было.
Так как я потом сам поменял, чтобы доументы там хранились, но это не помогло.
Сам файл лежит в указанном пути, но ошибка не исчезает.
DrWatson
22.08.19
✎
13:18
(5) А разве это сообщение не значит, что с настройками всё хорошо, веб-сервис вызывается. Но 1С не нравится твоя функция Приветствие(). Может стоит убрать у неё параметр?
Vir_Rus
22.08.19
✎
13:28
(9) Убирал, результат тот же
ptiz
22.08.19
✎
13:49
(8) Покажи, что у тебя в файле httpd.conf в блоке после:
# 1c publication
Vir_Rus
22.08.19
✎
13:53
На всякий случай все после 1с publication выложу:
# 1c publication
Alias «/Hello» «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»
<Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»>
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/default.vrd»
</Directory>
#
# DefaultType: the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, «text/plain» is
# a good value. If most of your content is binary, such as applications
# or images, you may want to use «application/octet-stream» instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig conf/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to «handlers»:
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add «ExecCGI» to the «Options» directive.)
#
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add «Includes» to the «Options» directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>
#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
#MIMEMagicFile conf/magic
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 «The server made a boo boo.»
#ErrorDocument 404 /missing.html
#ErrorDocument 404 «/cgi-bin/missing_handler.pl»
#ErrorDocument 402 http://localhost/subscription_info.html
#
#
# MaxRanges: Maximum number of Ranges in a request before
# returning the entire resource, or one of the special
# values ‘default’, ‘none’ or ‘unlimited’.
# Default setting is to accept 200 Ranges.
#MaxRanges unlimited
#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall is used to deliver
# files. This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
#
#EnableMMAP off
#EnableSendfile off
# Supplemental configuration
#
# The configuration files in the conf/extra/ directory can be
# included to add extra features or to modify the default configuration of
# the server, or you may simply copy their contents here and change as
# necessary.
# Server-pool management (MPM specific)
#Include conf/extra/httpd-mpm.conf
# Multi-language error messages
#Include conf/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
#Include conf/extra/httpd-autoindex.conf
# Language settings
#Include conf/extra/httpd-languages.conf
# User home directories
#Include conf/extra/httpd-userdir.conf
# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
#Include conf/extra/httpd-dav.conf
# Various default settings
#Include conf/extra/httpd-default.conf
# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
ptiz
22.08.19
✎
13:59
(12) Теперь проверь — всё ли правильно написано в этом файле: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/default.vrd
Vir_Rus
22.08.19
✎
14:06
Извиняюсь, не знаю как тут прикреплять файлы/изображения. Выложу весь текст файла.
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<definitions xmlns=»http://schemas.xmlsoap.org/wsdl/»; xmlns:soap12bind=»http://schemas.xmlsoap.org/wsdl/soap12/»; xmlns:soapbind=»http://schemas.xmlsoap.org/wsdl/soap/»; xmlns:tns=»Obmen» xmlns:wsp=»http://schemas.xmlsoap.org/ws/2004/09/policy»; xmlns:wsu=»http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd»; xmlns:xsd=»http://www.w3.org/2001/XMLSchema»; xmlns:xsd1=»Obmen» name=»Hello» targetNamespace=»Obmen»>
<types>
<xs:schema xmlns:xs=»http://www.w3.org/2001/XMLSchema»; xmlns:xs1=»Obmen» targetNamespace=»Obmen» elementFormDefault=»qualified»>
<xs:element name=»Приветствие»>
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<xs:element name=»ПриветствиеResponse»>
<xs:complexType>
<xs:sequence>
<xs:element name=»return» type=»xs:all» nillable=»true»/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name=»ПриветствиеRequestMessage»>
<part name=»parameters» element=»tns:Приветствие»/>
</message>
<message name=»ПриветствиеResponseMessage»>
<part name=»parameters» element=»tns:ПриветствиеResponse»/>
</message>
<portType name=»HelloPortType»>
<operation name=»Приветствие»>
<input message=»tns:ПриветствиеRequestMessage»/>
<output message=»tns:ПриветствиеResponseMessage»/>
</operation>
</portType>
<binding name=»HelloSoapBinding» type=»tns:HelloPortType»>
<soapbind:binding style=»document» transport=»http://schemas.xmlsoap.org/soap/http»/>;
<operation name=»Приветствие»>
<soapbind:operation style=»document» soapAction=»Obmen#Hello:Приветствие»/>
<input>
<soapbind:body use=»literal»/>
</input>
<output>
<soapbind:body use=»literal»/>
</output>
</operation>
</binding>
<binding name=»HelloSoap12Binding» type=»tns:HelloPortType»>
<soap12bind:binding style=»document» transport=»http://schemas.xmlsoap.org/soap/http»/>;
<operation name=»Приветствие»>
<soap12bind:operation style=»document» soapAction=»Obmen#Hello:Приветствие»/>
<input>
<soap12bind:body use=»literal»/>
</input>
<output>
<soap12bind:body use=»literal»/>
</output>
</operation>
</binding>
<service name=»Hello»>
<port name=»HelloSoap» binding=»tns:HelloSoapBinding»>
<documentation>
<wsi:Claim xmlns:wsi=»http://ws-i.org/schemas/conformanceClaim/»; conformsTo=»http://ws-i.org/profiles/basic/1.1″/>;
</documentation>
<soapbind:address location=»http://localhost/Hello/ws/Hello»/>;
</port>
<port name=»HelloSoap12″ binding=»tns:HelloSoap12Binding»>
<soap12bind:address location=»http://localhost/Hello/ws/Hello»/>;
</port>
</service>
</definitions>
ptiz
22.08.19
✎
14:16
(14) Это ответ веб-сервиса, значит — работает.
Йохохо
22.08.19
✎
14:18
(15) это копипаст из блокнота)
ptiz
22.08.19
✎
14:19
(14) У тебя «Имя файла публикации» заполнено в свойстве веб-сервиса?
ptiz
22.08.19
✎
14:20
(14) И покажи содержимое файла default.vrd
Vir_Rus
22.08.19
✎
15:02
(17) заполнено (18)
<?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=»/Hello»
ib=»Srvr="sd-s-vm02";Ref="gdctest2";»>
<httpServices publishByDefault=»false»/>
<standardOdata enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
<ws>
<point name=»Obmen»
alias=»ws1.1cws»
enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
<point name=»Hello»
alias=»ws2.1cws»
enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
</ws>
</point>
ptiz
22.08.19
✎
15:22
Йохохо
22.08.19
✎
15:27
ib=»Srvr="sd-s-vm02"
попробуйте по айпи
Йохохо
22.08.19
✎
15:29
ib=»Srvr="sd-s-vm02";Ref="gdctest2";» странно выглядит
ib=»Srvr=sd-s-vm02;Ref=gdctest2;»
Vir_Rus
22.08.19
✎
15:32
(20) Открывается
http://localhost:80/Hello если так — то доступ к базе будет из браузера
Vir_Rus
22.08.19
✎
15:35
(21) т.е. попробовать отредактировать этот файл? и написать там айпи вместо названия?
Vir_Rus
22.08.19
✎
15:36
(22) Во всяком случае, если бы дело было в этом — я бы не смог зайти в базу из браузера. Так что не думаю что проблема тут
Йохохо
22.08.19
✎
15:39
(23) открывается это именно текст из (24) виден в браузере?
Vir_Rus
22.08.19
✎
15:45
(26) Виден текст из (14) если из браузера переходить http://localhost/Hello/ws/Hello?wsdl
А (19) это содержимое файла default.vrd
ptiz
22.08.19
✎
15:57
(27) Команду: новый WSОпределения() выполняешь в какой базе? Файловая? Серверная? С какого компьютера?
А то ведь localhost будет доступен только с того компа, где апач.
Vir_Rus
22.08.19
✎
16:05
(28) новый WSОпределения() выполняю на своем ПК, на нем же стоит Апач. Базы серверные.
При выполнении данной команды получаю ошибку:
{ОбщаяФорма.ФормаОбмена.Форма(15)}: Ошибка при вызове конструктора (WSОпределения): При создании описания сервиса произошла ошибка. URL сервиса: http://localhost:80/Hello/ws/ws2.1cws?wsdl
Код ответа сервера: 500
У меня веб сервис основной забы подключен в ws-ссылки в «мобильной» базе. Из нее сразу создаю wsПрокси:
Соединение = WSСсылки.WSСсылка1.СоздатьWSПрокси(«Obmen»,»Hello»,»HelloSoap»);
И получаю ошибку:
«{ОбщаяФорма.ФормаОбмена.Форма(26)}: Ошибка при вызове метода контекста (Приветствие): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {Obmen}:Hello:Приветствие(): При вызове веб-сервиса произошла ошибка. Ошибка HTTP: HTTP Status 500 — Внутренняя ошибка сервера.
1C:Enterprise 8 application error:Ошибка при разборе дескриптора виртуальных ресурсовby reason: Файл не обнаружен ‘C:\www\default.vrd’. 2(0x00000002): Не удается найти указанный файл.»
Vir_Rus
23.08.19
✎
08:53
Возможно нашел причину возникновения ошибки…
Сейчас ради эксперимента выключил сервер апач и попробовал выполнить веб сервис. получил точно такую же ошибку.
Получается из 1с не виден сервер апача…
Потому что из браузера все работает нормально.
В чем может быть ошибка? Какие-нибудь права 1с-ке нужны?
ptiz
23.08.19
✎
09:03
(29) Замени наконец localhost на нормальное имя компьютера, или (ещё лучше) — IP-адрес.
Vir_Rus
23.08.19
✎
09:07
(31) Уже заменил на локальный адрес 127.0.0.1 — не помогло
Василий Алибабаевич
23.08.19
✎
09:08
(12) Иттить колотить….
Вы на полном серьезе считаете нормальным вот такой путь: Alias «/Hello» «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»
<Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»>?
Vir_Rus
23.08.19
✎
09:08
я же говорю дело не в этом. я получаю одну и ту же ошибку когда апач запущен и когда он выключен. Следовательно по каким то причинам 1с не может достучаться до сервера апачЭ, на котором находится веб сервис…
Vir_Rus
23.08.19
✎
09:09
(33) переделал путь на c:/www/ — тут уже лежит веб сервис — результат не изменился…
Василий Алибабаевич
23.08.19
✎
09:10
+ (33) Тем более с учетом того, что в ошибке указан путь: ‘C:\www\default.vrd’ ЦЫ(28) ???
Василий Алибабаевич
23.08.19
✎
09:10
(35) Переделал как? Что изменял?
ДенисЧ
23.08.19
✎
09:11
А у тебя Апачу разрешено слушать какой-то адрес, кроме локохоста?
Vir_Rus
23.08.19
✎
09:12
(37) папку публикации веб сервиса и в конфиге апача строку documentsdirectory — вроде так она называется на путь «c:/www»
ПускинАС
23.08.19
✎
09:12
(1) Всегда нравилось, как умно работает определитель кода. Прямо в стиле 1с))) глаза рэжет ))) куль веб
ПускинАС
23.08.19
✎
09:16
(0) Поставь апач нормально, нормальный, и будет тебе ок.
Василий Алибабаевич
23.08.19
✎
09:20
(39) Вообще корень сайта в файле конфигурации прописывается в «DocumentRoot»
При этом :
1. Пути должны указываться в в стиле Линукса
не c:\www, а c://www
2. Там не должно быть кириллицы и спецсимволов.
Vir_Rus
23.08.19
✎
09:20
(41) Так если б знал какой правильный и как правильно — ужеб давно сделал. а так делаю по видеоуроку или по статье какой-нибудь. все один в один, ну разве что только версии апача могут отличаться
Василий Алибабаевич
23.08.19
✎
09:25
+ (42)
Каталог с публикацией 1с (*.vrd) должен быть внутри того, что указано в DocumentRoot.
в LoadModule должен быть указан корректный путь к wsap22.dll или wsap24.dll (зависит какой апач)
Публикация должна быть указана в файле httpd.conf примерно так :
# 1c publication
Alias «/Prdp» «D:/###/Prdp/»
<Directory «D:/###/Prdp/»>
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor «D:/###/Prdp/default.vrd»
</Directory>
после всех корректировок httpd апач должен быть перезагружен.
Василий Алибабаевич
23.08.19
✎
09:28
+(44) Если в httpd неправильно указан путь к wsap*.dll или юзеру, от имени которого запускается апач недостаточно прав на wsap*.dll служба не запустится. В журнале регистрации событий винды будет запись об ошибке.
Проверяй.
Vir_Rus
23.08.19
✎
09:49
(45) по логике, если из браузера все работает — значит все настройки сервера и публикация веб сервиса выполнены корректно. или не факт?
Есть факт, то почему из 1с не получается достучаться до апача?
ptiz
23.08.19
✎
09:51
(32) Где заменил? В создании ws-определения? И что будет делать 1С, если этот код запустится на сервере? К какому апачу стучаться?
Василий Алибабаевич
23.08.19
✎
09:51
(46) «если из браузера все работает» А это так?
И как в браузере можно определить работоспособность сервиса? Оно же в браузер ничего не пишет.
Удалось открыть файл? Ну так видимо настройка прав позволяет. Запиши туда же обычный текстовый файл и попробуй открыть из браузера.
ПускинАС
23.08.19
✎
09:54
https://www.apachehaus.com/cgi-bin/download.plx
вот норм.
распаковываешь с:\Apache24
в конфиге пишешь Define SRVROOT «C:/Apache24» (38 строка примерно) httpd.conf
переходишь в
c:\Apache24\bin\httpd.exe -k install (установка сервиса)
c:\Apache24\bin\httpd.exe -к start (запуск)
и все ЁБА ! ! ) ) )
ДенисЧ
23.08.19
✎
09:56
(46) Потому что у тебя апач и сервер 1с лежат на разных компах. А в апаче не разрешено слушать что-то другое, кроме лохоста.
ПускинАС
23.08.19
✎
10:02
(50) кто тебе такую ересь сказал?
ДенисЧ
23.08.19
✎
10:24
(51) Покажи мне в конфиге Апача директиву Listen
Её там нет.
ПускинАС
23.08.19
✎
10:27
Василий Алибабаевич
23.08.19
✎
10:27
(52) Она там есть. Вот пример :
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 81
Только оно не зато отвечает куда может ходить подключаемый модуль. Даже подключаемых пыхпых может грузить свои инклюды из-за пределов документрут.
ПускинАС
23.08.19
✎
10:28
откуда вы все вылезли… из windows 95 ? )))
ДенисЧ
23.08.19
✎
10:29
(53) Это порт.
ДенисЧ
23.08.19
✎
10:30
А по дефолту апач слушает только локохост
Василий Алибабаевич
23.08.19
✎
10:34
(57) Апач слушает порт. Откуда оно там возьмется — ему не важно.
ИМХАется мне ты спутал расположение ДокументРута. Вот за него не скажу. Хотя у меня написано так :
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
Настаиваю на : «but symbolic links and aliases may be used to point to other locations.»
Василий Алибабаевич
23.08.19
✎
10:36
В общем у ТС проблема не в том, где расположен ДокументРут, а в том что ТС этого и сам не знает.
Йохохо
23.08.19
✎
10:45
(46) откати все конфиги и сделай с нуля в отдельную папку
(59) на документрут плевать т.к.
Alias «/Hello» «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»
<Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/»>
Йохохо
23.08.19
✎
10:46
кстати под виндой слеша вроде не должно быть в конце Apache2.2/htdocs
Vir_Rus
23.08.19
✎
10:48
Все заново сделал но уже на сервере где стоит сервер 1с. заработало.
Всем спасибо
Йохохо
23.08.19
✎
10:49
так не интересно(
ptiz
23.08.19
✎
12:16
(62) Ну правильно: локалхост с сервера 1С теперь стучится туда же, где апач (на нем же)
На виртуальном сервере установлена CentOS 6.5 и сервер 1С 8.3 — все 64 бит.
Нужно опубликовать 1С на веб сервере, инструкция примерно такая:
1) Ставишь httpd.
2) Создаешь папки, где будут хранится конф. файлы, например /var/www/html/baza
3) Прописываешь базу штатной утилиткой:
* заходим в папку с 1с (для х32): cd /opt/1c/v8.2/i386
* ./webinst -apache22 -wsdir baza -dir ‘/var/www/html/baza/’ -connStr ‘Srvr=»1c.mydomain.com»;Ref=»baza»‘ -confPath /etc/httpd/conf/httpd.conf
* проверям, что в созданном файлике /var/www/html/baza/default.vrd и нет лишних (двойных) «/» . У меня они каждый раз появлялись и каждый раз мне проще было их удалить чем вникать, где в команде я напортачил. (также стоит проверить /etc/httpd/conf/httpd.conf, база прописывается в самый конец конфига).
4) ставишь на папку права для пользователя apache: chown apache:apache /var/www/html/baza и перезагружаешь апач.
Вот, в общем то и все.
Делаем публикацию 1С на веб сервере:
Код Batch File (DOS, CMD, BAT)
./webinst -apache22 -wsdir base -dir '/var/www/html/base/' -connStr 'Srvr=5.101.113.142;Ref=tur;' -confPath /etc/httpd/conf/httpd.conf
Публикация прошла успешно.
В файл httpd.conf добавляется
LoadModule _1cws_module «/opt/1C/v8.3/i386/wsap22.so»
# 1c publication
Alias «/base» «/var/www/html/base/»
<Directory «/var/www/html/base/»>
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor «/var/www/html/base/default.vrd»
</Directory>
содержимое default.vrd
<?xml version=»1.0″ encoding=»UTF-8″?>
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=»/base»
ib=»Srvr=5.101.113.142;Ref=tur;»/>
Перезапускам Апач и apache2: Syntax error on line 202 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/httpd.conf:
Cannot load /opt/1C/v8.3/i386/wsap22.so into server: /opt/1C/v8.2/i386/wsap22.so: wrong ELF class: ELFCLASS32
Т.е. ему не нравится вот это
LoadModule _1cws_module «/opt/1C/v8.2/i386/wsap22.so»
Выглядит это так:
Проблема в том, что 64-битный апач не хочет работать ( нужно заменить его на 32-битный!
Порядок действий такой:
1. Нужно подкорректировать файлы репозитария, чтобы он загружал 32-битные версии: Открываем /etc/yum.repos.d/, копируете эти файлы для архива и исправляете в текущих $basearch на i686.
2. чистим кэш так: yum clean all или в папке /var/cache/yum/
3. yum install httpd.i686
4. reboot
После перезапуска
./webinst -apache22 -wsdir base -dir ‘/var/www/html/base/’ -connStr ‘Srvr=5.101.113.142;Ref=tur;’ -confPath /etc/httpd/conf/httpd.conf
Задаем владельца для файла default.vrd:
chown apache:apache /var/www/html/base/default.vrd
Перезагрузим сервера 1с и апач:
/etc/init.d/httpd restart
/etc/init.d/srv1cv82 restart
Еще раз перезагружаем
проверяем — Все будет ОК