Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
решения:обход_портов [2017/12/10 16:27] adminasp создано |
решения:обход_портов [2022/07/04 18:58] (текущий) |
||
---|---|---|---|
Строка 6: | Строка 6: | ||
==== Установить node.js ==== | ==== Установить node.js ==== | ||
- | <sxh bash> | + | <code bash> |
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - | curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - | ||
sudo apt-get install -y nodejs | sudo apt-get install -y nodejs | ||
- | </sxh> | + | </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/|официального сайта]]. | ||
+ | - Установить в систему. | ||
+ | - Скачать [[https://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>Либо указать его же в параметре **АдресШлюза**. |