Обход портов: различия между версиями

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску
м Shihov переименовал страницу Решения:обход портов в Обход портов: Автоматическое переименование
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
====== Способ обхода портов и протокола HTTPS ======
====== Способ обхода портов и протокола HTTPS ======


Данный способ применяется при жёстких ограничениях по прямому подключению из 1С к серверу Меркурия по протоколу HTTPS <syntaxhighlight lang='bash'>
Данный способ применяется при жёстких ограничениях по прямому подключению из 1С к серверу Меркурия по протоколу HTTPS '''а также по умолчанию при работе в платформах 8.1 - 8.2'''.
'а также по умолчанию при работе в платформах 8.1 - 8.2
</syntaxhighlight>'.


===== Настройка под Debian (Ubuntu) =====
===== Настройка под Debian (Ubuntu) =====
Строка 23: Строка 21:
</syntaxhighlight>
</syntaxhighlight>


Заменить строку подключения к локальных WSDL файлах в папке <syntaxhighlight lang='bash'>
Заменить строку подключения к локальных WSDL файлах в папке '''ws-compat''', указав адрес или IP вместо api.aspcom.ru для подключения портов 8011 и 8012.
'ws-compat
</syntaxhighlight>', указав адрес или IP вместо api.aspcom.ru для подключения портов 8011 и 8012.


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 41: Строка 37:
==== Настроить службу автозапуска ====
==== Настроить службу автозапуска ====


Создать файл <syntaxhighlight lang='bash'>
Создать файл '''/lib/systemd/system/node-proxy.service''':
'/lib/systemd/system/node-proxy.service
</syntaxhighlight>':


<syntaxhighlight lang="service node-proxy.service">
<syntaxhighlight lang="service node-proxy.service">
Строка 77: Строка 71:
<syntaxhighlight lang="-">
<syntaxhighlight lang="-">
● node-proxy.service - NodeJS proxy service
● node-proxy.service - NodeJS proxy service
  Loaded: loaded (/lib/systemd/system/node-proxy.service; enabled)
Loaded: loaded (/lib/systemd/system/node-proxy.service; enabled)
  Active: active (running) since Вс 2017-12-10 14:25:08 MSK; 2h 11min ago
Active: active (running) since Вс 2017-12-10 14:25:08 MSK; 2h 11min ago
  Main PID: 8710 (node)
  Main PID: 8710 (node)
  CGroup: /system.slice/node-proxy.service
CGroup: /system.slice/node-proxy.service
          └─8710 /usr/bin/node app.js
└─8710 /usr/bin/node app.js


дек 10 14:25:08 debian systemd[1]: Started NodeJS proxy service.
дек 10 14:25:08 debian systemd[1]: Started NodeJS proxy service.
Строка 98: Строка 92:


<syntaxhighlight lang="-">
<syntaxhighlight lang="-">
node      8710        root  10u IPv6 5518044      0t0 TCP *:8011 (LISTEN)
node8710root10u IPv6 55180440t0 TCP *:8011 (LISTEN)
node      8710        root  11u IPv6 5518045      0t0 TCP *:8012 (LISTEN)
node8710root11u IPv6 55180450t0 TCP *:8012 (LISTEN)
node      8710        root  12u IPv6 5518046      0t0 TCP *:8010 (LISTEN)
node8710root12u IPv6 55180460t0 TCP *:8010 (LISTEN)
</syntaxhighlight>
</syntaxhighlight>


Строка 109: Строка 103:
===== Настройка под Windows =====
===== Настройка под Windows =====


Все последующие действия выполняем на сервере 1с, либо на постоянно включенном компьютере с доступом в интернет. <br/>- Скачать последний LTS релиз Node.js версии 8.x c [[https://nodejs.org/en/ официального сайта]] или с сайта асп: [[File:node-v13.14.0-x64.msi]].
Все последующие действия выполняем на сервере 1с, либо на постоянно включенном компьютере с доступом в интернет. <br/>- Скачать последний LTS релиз Node.js версии 8.x c [https://nodejs.org/en/ официального сайта] или с сайта асп: [[File:node-v13.14.0-x64.msi]].
  - Установить в систему.
Установить в систему.
  - Скачать архив прокси скрипта/ [[File:node-proxy.zip]].
Скачать архив прокси скрипта/ [[File:node-proxy.zip]].
  - Распаковать архив в постоянное место хранения, лучше всего в корень диска.
Распаковать архив в постоянное место хранения, лучше всего в корень диска.
  - Запустить скрипт командой/ <syntaxhighlight lang="-">
Запустить скрипт командой/ <syntaxhighlight lang="-">
node app.js
node app.js
</syntaxhighlight>.
</syntaxhighlight>.
Строка 136: Строка 130:
</syntaxhighlight>
</syntaxhighlight>


в случае если скрипт настроен на другом компьютере в локальной сети <br/>Либо указать его же в параметре <syntaxhighlight lang='bash'>
в случае если скрипт настроен на другом компьютере в локальной сети <br/>Либо указать его же в параметре '''АдресСлужбы'''.
'АдресСлужбы
</syntaxhighlight>'.
[[Category:Решения]]
[[Category:Решения]]
<vote type=1 />

Текущая версия от 13:02, 23 мая 2025

Способ обхода портов и протокола 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:

[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

Результат:

node8710root10u  IPv6 55180440t0  TCP *:8011 (LISTEN)
node8710root11u  IPv6 55180450t0  TCP *:8012 (LISTEN)
node8710root12u  IPv6 55180460t0  TCP *:8010 (LISTEN)

Открыть порты

Убедиться, что порты 8010-8012 доступны для подключения к этой машине.

Настройка под Windows

Все последующие действия выполняем на сервере 1с, либо на постоянно включенном компьютере с доступом в интернет.
- Скачать последний LTS релиз Node.js версии 8.x c официального сайта или с сайта асп: Файл:Node-v13.14.0-x64.msi.

  1. Установить в систему.
  2. Скачать архив прокси скрипта/ Файл:Node-proxy.zip.
  3. Распаковать архив в постоянное место хранения, лучше всего в корень диска.
  4. Запустить скрипт командой/
    node app.js
    .

Автозапуск можно осуществить любым предпочтительным способом/

  • Вставить ярлык в автозагрузку.
  • Прописать в планировщик задач при старте системы.
  • Прописать в пути автозапуска в реестре Windows.


Настройка сборщика

При сборке внешней обработки в КодГене указать адрес подключения:

http://127.0.0.1:8010

в случае если скрипт настроен на сервере 1с
или

http://ваш_сервер:8010

в случае если скрипт настроен на другом компьютере в локальной сети
Либо указать его же в параметре АдресСлужбы.

0.00
(0 голосов)