Различия
Здесь показаны различия между двумя версиями данной страницы.
решения:обход_портов [2018/09/10 18:40] adminasp [Скачать и распаковать пакет прокси] |
решения:обход_портов [2022/07/04 18:58] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Способ обхода портов и протокола HTTPS ====== | ||
- | Данный способ применяется при жёстких ограничениях по прямому подключению из 1С к серверу Меркурия по протоколу HTTPS. | ||
- | |||
- | ===== Настройка под Debian (Ubuntu) ===== | ||
- | |||
- | ==== Установить node.js ==== | ||
- | <code bash> | ||
- | curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - | ||
- | sudo apt-get install -y nodejs | ||
- | </code> | ||
- | |||
- | ==== Скачать и распаковать пакет прокси ==== | ||
- | <code bash> | ||
- | mkdir -p /var/www/proxy | ||
- | cd /var/www/proxy | ||
- | wget http://api.aspcom.ru/ws/node-proxy.zip | ||
- | unzip node-proxy.zip | ||
- | </code> | ||
- | |||
- | Заменить строку подключения к локальных WSDL файлах в папке **ws-compat**, указав адрес или IP вместо api.aspcom.ru для подключения портов 8011 и 8012. | ||
- | <code bash> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | ==== Настроить службу автозапуска ==== | ||
- | Создать файл **/lib/systemd/system/node-proxy.service**: | ||
- | <file 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 | ||
- | </file> | ||
- | |||
- | Стартовать службу: | ||
- | <code bash> | ||
- | service node-proxy install | ||
- | service node-proxy start | ||
- | service node-proxy status | ||
- | </code> | ||
- | |||
- | В результате должно быть выведено: | ||
- | <code> | ||
- | ● 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 | ||
- | </code> | ||
- | |||
- | Выполнить команду: | ||
- | <code bash> | ||
- | lsof -i |grep node | ||
- | </code> | ||
- | Результат: | ||
- | <code> | ||
- | 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) | ||
- | </code> | ||
- | |||
- | ==== Открыть порты ==== | ||
- | |||
- | Убедиться, что порты 8010-8012 доступны для подключения к этой машине. | ||
- | |||
- | ===== Настройка под Windows ===== | ||
- | |||
- | - Скачать последний LTS релиз Node.js версии 8.x c [[https://nodejs.org/en/|официального сайта]]. | ||
- | - Установить в систему. | ||
- | - Скачать [[http://api.aspcom.ru/ws/node-proxy.zip|архив прокси-скрипта]]. | ||
- | - Подменить адреса подключения в WSDL файлах в папке **ws-compat** (в том числе подпапках **2** и **2.1**): | ||
- | - api.aspcom.ru:8011 -> new_address:8011 | ||
- | - api.aspcom.ru:8012 -> new_address:8012 | ||
- | - Запустить скрипт командой: <code>node app.js</code>. | ||
- | |||
- | Автозапуск можно осуществить любым предпочтительным способом: | ||
- | * Вставить ярлык в автозагрузку. | ||
- | * Прописать в планировщик задач при старте системы. | ||
- | * Прописать в пути автозапуска в реестре Windows. | ||
- | |||
- | ===== Настройка сборщика ===== | ||
- | |||
- | При сборке внешней обработки в [[компоненты:кодген|КодГене]] указать адрес подключения: <code>http://ваш-сервер:8010</code>. |