Это старая версия документа.
Способ обхода портов и протокола HTTPS
Данный способ применяется при жёстких ограничениях по прямому подключению из 1С к серверу Меркурия по протоколу HTTPS а также по умолчанию при работе в платформах 8.1 - 8.2.
Настройка под Debian (Ubuntu)
Установить node.js
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
Скачать и распаковать пакет прокси
mkdir -p /var/www/proxy cd /var/www/proxy wget http://api.aspcom.ru/ws/node-proxy.zip unzip node-proxy.zip
Заменить строку подключения к локальных WSDL файлах в папке ws-compat, указав адрес или IP вместо api.aspcom.ru для подключения портов 8011 и 8012.
cd ws-compat sed -i 's/api.aspcom.ru:8011/new_address:8011/g' *.wsdl sed -i 's/api.aspcom.ru:8012/new_address:8012/g' *.wsdl cd 2 sed -i 's/api.aspcom.ru:8011/new_address:8011/g' *.wsdl sed -i 's/api.aspcom.ru:8012/new_address:8012/g' *.wsdl cd ../21 sed -i 's/api.aspcom.ru:8011/new_address:8011/g' *.wsdl sed -i 's/api.aspcom.ru:8012/new_address:8012/g' *.wsdl
Настроить службу автозапуска
Создать файл /lib/systemd/system/node-proxy.service:
- node-proxy.service
[Unit] Description=NodeJS proxy service After=network.target [Service] WorkingDirectory=/var/www/proxy ExecStart=/usr/bin/node app.js Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=node-proxy User=root Group=root Environment=NODE_ENV=production [Install] WantedBy=multi-user.target
Стартовать службу:
service node-proxy install
service node-proxy start
service node-proxy status
В результате должно быть выведено:
● node-proxy.service - NodeJS proxy service Loaded: loaded (/lib/systemd/system/node-proxy.service; enabled) Active: active (running) since Вс 2017-12-10 14:25:08 MSK; 2h 11min ago Main PID: 8710 (node) CGroup: /system.slice/node-proxy.service └─8710 /usr/bin/node app.js дек 10 14:25:08 debian systemd[1]: Started NodeJS proxy service. дек 10 14:25:08 debian node-proxy[8710]: TEST http proxy server started on port 8011 дек 10 14:25:08 debian node-proxy[8710]: PRODUCT http proxy server started on port 8012 дек 10 14:25:08 debian node-proxy[8710]: Static server listening to 8010
Выполнить команду:
lsof -i |grep node
Результат:
node 8710 root 10u IPv6 5518044 0t0 TCP *:8011 (LISTEN) node 8710 root 11u IPv6 5518045 0t0 TCP *:8012 (LISTEN) node 8710 root 12u IPv6 5518046 0t0 TCP *:8010 (LISTEN)
Открыть порты
Убедиться, что порты 8010-8012 доступны для подключения к этой машине.
Настройка под Windows
Внимание: настроенные ws-ссылки в прямой заставляют конфигурацию игнорировать параметр «Адрес службы», их необходимо удалить: (Общие - Ws-ссылки - удалить ws-ссылки с названиями АСП_меркурий и АСП_сервис)
Также необходимо в настройках прямой параметры «ВерсияШлюза» и «ВерсияШлюзаДляВходящих» установить на значение 3.
Все последующие действия выполняем на сервере 1с, либо на постоянно включенном компьютере с доступом в интернет.
- Скачать последний LTS релиз Node.js версии 8.x c официального сайта или с сайта асп: node-v13.14.0-x64.msi.
- Установить в систему.
- Скачать архив прокси скрипта: node-proxy.zip.
- Распаковать архив в постоянное место хранения, лучше всего в корень диска.
- Запустить скрипт командой:
node app.js
.
Автозапуск можно осуществить любым предпочтительным способом:
- Вставить ярлык в автозагрузку.
- Прописать в планировщик задач при старте системы.
- Прописать в пути автозапуска в реестре Windows.
Настройка задания в планировщике задач.
1. Откройте планировщик заданий: нажмите сочетание клавиш Win+R и введите taskschd.msc (или откройте через поиск или панель управления):
2. В панели «действия» справа нажмите «Создать простую задачу»
3. Имя укажите «node proxy»
4. Триггер «При запуске компьютера»
5. Действие укажите «Запустить программу»
6. В разделе «Запуск программы» укажите:
6.1 Программа или сценарий: укажите путь к bat файлу start.bat в каталоге node-proxy, например «C:\node-proxy\start.bat»
6.2 Рабочая папка: укажите каталог, в котором вы сохранили node-proxy, например C:\node-proxy
7. В окне «Завершение» поставить галочку «Открыть окно Свойства» и нажать «Готово».
8. В свойствах открыть вкладку Параметры и снять галочку «Останавливать задачу, выполняемую более трех дней»
9. На вкладке «Общие» установите «Выполнять для всех пользователей» и поставьте галочку «Скрытая задача» после чего нажмите ОК.
10. Вам будет предложено ввести пароль от текущей учетной записи. Введите его и нажмите ОК.
11. Выберите задачу в списке и нажмите «Выполнить».
Настройка сборщика
При сборке внешней обработки в КодГене указать адрес подключения:
http://127.0.0.1:8010
в случае если скрипт настроен на сервере 1с
или
http://ваш_сервер:8010
в случае если скрипт настроен на другом компьютере в локальной сети
Либо указать его же в параметре АдресСлужбы.