Обход портов: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки |
Shihov (обсуждение | вклад) Нет описания правки |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
====== Способ обхода портов и протокола HTTPS ====== | ====== Способ обхода портов и протокола HTTPS ====== | ||
Данный способ применяется при жёстких ограничениях по прямому подключению из 1С к серверу Меркурия по протоколу HTTPS | Данный способ применяется при жёстких ограничениях по прямому подключению из 1С к серверу Меркурия по протоколу HTTPS '''а также по умолчанию при работе в платформах 8.1 - 8.2'''. | ||
'а также по умолчанию при работе в платформах 8.1 - 8.2 | |||
===== Настройка под Debian (Ubuntu) ===== | ===== Настройка под Debian (Ubuntu) ===== | ||
Строка 23: | Строка 21: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Заменить строку подключения к локальных WSDL файлах в папке | Заменить строку подключения к локальных WSDL файлах в папке '''ws-compat''', указав адрес или IP вместо api.aspcom.ru для подключения портов 8011 и 8012. | ||
'ws-compat | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Строка 41: | Строка 37: | ||
==== Настроить службу автозапуска ==== | ==== Настроить службу автозапуска ==== | ||
Создать файл | Создать файл '''/lib/systemd/system/node-proxy.service''': | ||
'/lib/systemd/system/node-proxy.service | |||
<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) | |||
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 | |||
└─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="-"> | ||
node8710root10u IPv6 55180440t0 TCP *:8011 (LISTEN) | |||
node8710root11u IPv6 55180450t0 TCP *:8012 (LISTEN) | |||
node8710root12u IPv6 55180460t0 TCP *:8010 (LISTEN) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 109: | Строка 103: | ||
===== Настройка под Windows ===== | ===== Настройка под Windows ===== | ||
Все последующие действия выполняем на сервере 1с, либо на постоянно включенном компьютере с доступом в интернет. <br/>- Скачать последний LTS релиз Node.js версии 8.x c | Все последующие действия выполняем на сервере 1с, либо на постоянно включенном компьютере с доступом в интернет. <br/>- Скачать последний LTS релиз Node.js версии 8.x c [https://nodejs.org/en/ официального сайта] или с сайта асп: [[File:node-v13.14.0-x64.msi]]. | ||
# Установить в систему. | |||
# Скачать архив прокси скрипта/ [[File:node-proxy.zip]]. | |||
# Распаковать архив в постоянное место хранения, лучше всего в корень диска. | |||
# Запустить скрипт командой/ <syntaxhighlight lang="-"> | |||
node app.js | node app.js | ||
</syntaxhighlight>. | </syntaxhighlight>. | ||
Строка 126: | Строка 120: | ||
===== Настройка сборщика ===== | ===== Настройка сборщика ===== | ||
При сборке внешней обработки в [[компоненты | При сборке внешней обработки в [[компоненты:кодген|КодГене]] указать адрес подключения: | ||
<syntaxhighlight lang="-"> | <syntaxhighlight lang="-"> | ||
Строка 136: | Строка 130: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
в случае если скрипт настроен на другом компьютере в локальной сети <br/>Либо указать его же в параметре | в случае если скрипт настроен на другом компьютере в локальной сети <br/>Либо указать его же в параметре '''АдресСлужбы'''. | ||
'АдресСлужбы | |||
[[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.
- Установить в систему.
- Скачать архив прокси скрипта/ Файл:Node-proxy.zip.
- Распаковать архив в постоянное место хранения, лучше всего в корень диска.
- Запустить скрипт командой/ .
node app.js
Автозапуск можно осуществить любым предпочтительным способом/
- Вставить ярлык в автозагрузку.
- Прописать в планировщик задач при старте системы.
- Прописать в пути автозапуска в реестре Windows.
Настройка сборщика
При сборке внешней обработки в КодГене указать адрес подключения:
http://127.0.0.1:8010
в случае если скрипт настроен на сервере 1с
или
http://ваш_сервер:8010
в случае если скрипт настроен на другом компьютере в локальной сети
Либо указать его же в параметре АдресСлужбы.