Установка action в форме настроек ккмсервера

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
LionSprings
Сообщения: 47
Зарегистрирован: 08 июн 2019, 20:11

Установка action в форме настроек ккмсервера

Сообщение LionSprings » 27 май 2020, 23:45

Столкнулся с такой проблемой.
Есть ккмсервер под линуксом. Поскольку с https у него не очень хорошие отношения, на него сверху прикручен nginx в качестве прокси. То есть он получает запросы по https, имеет валидный подписанный сертификат и всё такое, что позволяет имплементировать запросы к нему с других страничек из javascript по хттпс и не получать кучу матов от хрома, и редиректит все запросы на сам ккмсервер. Но при генерации html-форм ккмсервер зачем-то генерирует полный урл в поле action. То есть тег выглядит как

Код: Выделить всё

<form name="UnitSettings" action="http://localhost:5893/SetUnitSettings/3" method="get">
и естественно никаких настроек применить не удаётся. Приходится или лезть внутрь страницы и править DOM напрямую, или просто править урл заменяя протокол и localhost на корректный хост и порт. Благо, метод GET и такая фишка прокатывает.
Так вот. Это принципиально, или всё же можно сделать относительные урлы? Типа

Код: Выделить всё

<form name="UnitSettings" action="/SetUnitSettings/3" method="get">
Тогда браузер будет автоматом отправлять запросы на корректный урл.

Аватара пользователя
saratovout
Сообщения: 260
Зарегистрирован: 08 авг 2019, 23:52
Откуда: Boston
Контактная информация:

Re: Установка action в форме настроек ккмсервера

Сообщение saratovout » 28 май 2020, 00:42

Не понятно, если вы "городите свой огород"… то что мешает сделать его полностью?!

Имхо, изменение url маловероятно, дело в том, что должен быть указан порт, к которому относится конкретный продукт семейства, с относительными так не получится.

Ниже меня поправит разработчик, если я что-то неверно сказал.
good films make your life better..

LionSprings
Сообщения: 47
Зарегистрирован: 08 июн 2019, 20:11

Re: Установка action в форме настроек ккмсервера

Сообщение LionSprings » 28 май 2020, 01:18

saratovout писал(а):
28 май 2020, 00:42
Не понятно, если вы "городите свой огород"… то что мешает сделать его полностью?!

Имхо, изменение url маловероятно, дело в том, что должен быть указан порт, к которому относится конкретный продукт семейства, с относительными так не получится.

Ниже меня поправит разработчик, если я что-то неверно сказал.
Даже как-то растерялся. Портному вы тоже предлагаете изготовить ткань полностью самому, начиная с посадки хлопка?
А насчет порта я вообще не понял, что сказать то хотели. Если в action указан относительный урл - то запрос будет сделан на тот же самый хост и порт, и по тому же самому протоколу. И это работает - я ж написал, что модификация action в DOM отрабатывает нормально. Порт не меняется по идее. Но я допускаю, что разработчик это сделал с какой-то целью, просто мне она неясна. Поэтому и спросил.

P.S. Ах да, сами настройки то это не самое главное. К ним можно написать обёртку, которая будет модифицировать всё автоматом. Но там же ещё и после применения настроек идет перезагрузка сервера, после чего он таки редиректит на локалхост, и вот как это победить я совсем не представляю.

Аватара пользователя
saratovout
Сообщения: 260
Зарегистрирован: 08 авг 2019, 23:52
Откуда: Boston
Контактная информация:

Re: Установка action в форме настроек ккмсервера

Сообщение saratovout » 28 май 2020, 02:14

LionSprings писал(а):
28 май 2020, 01:18
разработчик это сделал с какой-то целью, просто мне она неясна
Ознакомьтесь с вариантами продуктов. Это не только Kkmserver. У каждого свой порт. Адреса страниц настроек имеют один и тот же относительный url, но разное содержимое для разных продуктов. При этом, логично предположить, что возникнет путаница, если установлены более одного продукта на машине. Это моё видение, возможно, у оф. разработчика были иные мотивы.
LionSprings писал(а):
28 май 2020, 01:18
Портному вы тоже предлагаете изготовить ткань полностью самому
Понимаете в чем дело. Вот портной сделал рубашку (kkmserver), но её рукава (https реализация) вас не устраивают и вы пытаетесь воспользоваться другими готовыми рукавами от другого портного (nginx), при этом предлагая первому портному сделать универсальную молнию для крепления, чтобы вам было проще собирать всё это. Наверное, так не должно быть.

Вам не предлагается всё делать с нуля, сделайте проксирование и regex/замены, если уж вы пошли таким путём..
good films make your life better..

LionSprings
Сообщения: 47
Зарегистрирован: 08 июн 2019, 20:11

Re: Установка action в форме настроек ккмсервера

Сообщение LionSprings » 28 май 2020, 02:24

saratovout писал(а):
28 май 2020, 02:14
LionSprings писал(а):
28 май 2020, 01:18
разработчик это сделал с какой-то целью, просто мне она неясна
Ознакомьтесь с вариантами продуктов. Это не только Kkmserver. У каждого свой порт. Адреса страниц настроек имеют один и тот же относительный url, но разное содержимое для разных продуктов. При этом, логично предположить, что возникнет путаница, если установлены более одного продукта на машине. Это моё видение, возможно, у оф. разработчика были иные мотивы.
LionSprings писал(а):
28 май 2020, 01:18
Портному вы тоже предлагаете изготовить ткань полностью самому
Понимаете в чем дело. Вот портной сделал рубашку (kkmserver), но её рукава (https реализация) вас не устраивают и вы пытаетесь воспользоваться другими готовыми рукавами от другого портного (nginx), при этом предлагая первому портному сделать универсальную молнию для крепления, чтобы вам было проще собирать всё это. Наверное, так не должно быть.

Вам не предлагается всё делать с нуля, сделайте проксирование и regex/замены, если уж вы пошли таким путём..
О боже. Вы сами то понимаете, что несёте?
У меня вопрос был к разработчику, в форуме техподдержки. Пожалуйста, не надо мне ничего рассказывать, что я хочу и что я делаю. Поверьте, я это знаю гораздо лучше вас.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Установка action в форме настроек ккмсервера

Сообщение Audim » 28 май 2020, 14:21

А что не так у kkmserver с HTTPS под линукс?
У кучи народа работает, - все ок.

???

LionSprings
Сообщения: 47
Зарегистрирован: 08 июн 2019, 20:11

Re: Установка action в форме настроек ккмсервера

Сообщение LionSprings » 28 май 2020, 17:28

Audim писал(а):
28 май 2020, 14:21
А что не так у kkmserver с HTTPS под линукс?
У кучи народа работает, - все ок.

???
Да может и нормально всё. Я не нашел, как установить нормальный реальный сертификат. А на самосгенеренный из настроек ккмсервера хром ругается и говорит что не верит ему, и взаимодействовать с ним не будет. А скачивать и инсталлировать клиентский сертификат на каждый потенциально могущий использоваться в качестве рабочего места комп или смартфон/планшет нереально.
Я встраиваю кнопку "принять денег и пробить чек" на странице отдельного сайта, по которой пытаюсь согласно примерам с помощью js отправить чек на печать, ничего не происходит. А при отладке в консоли хрома как раз появляется сообщение, что не нравится ему такое взаимодействие, и работать с ним он не будет. Через обертку же nginxa - работает. Везде и на всех устройствах. Кроме случаев настройки, когда используются формы сгенеренные самим ккмсервером. Допускаю, что я делаю что-то не то, но победить я это не смог.
Оттого и спросил про урл. Если это нельзя изменить на стороне сервера, то в принципе ничего страшного, обходной путь есть, я уже написал об этом. Да и не так часто настройки менять приходится на настроенном сервере.
Опять же, вполне можно заранее сформировать строку урла с подходящим get для изменения настроек и просто дернуть сервер тем же curl'ом. Что он в ответ выдаст локейшн на локалхост просто проигнорировать.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Установка action в форме настроек ккмсервера

Сообщение Audim » 28 май 2020, 17:52

Подменить сертификат просто:
В настройках сгенерите сертификат.
Потом в папке ".../KkmServer/Settings" замените файл UnitServer.p12
В этом файле должен быть сертификат с закрытым ключем.
Ключ должен быть защищен пустым паролем - и все.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Установка action в форме настроек ккмсервера

Сообщение Audim » 28 май 2020, 18:12

Попробуйте новую версию - убрал прямые ссылки.

LionSprings
Сообщения: 47
Зарегистрирован: 08 июн 2019, 20:11

Re: Установка action в форме настроек ккмсервера

Сообщение LionSprings » 28 май 2020, 21:41

Audim писал(а):
28 май 2020, 17:52
Подменить сертификат просто:
В настройках сгенерите сертификат.
Потом в папке ".../KkmServer/Settings" замените файл UnitServer.p12
В этом файле должен быть сертификат с закрытым ключем.
Ключ должен быть защищен пустым паролем - и все.
Ммм... Скорее всего да, я не делал сертификат с ключом защищенным пустым паролем. Поскольку ключи получаю уже готовыми просто в удостоверяющем центре, как то не вникал как они сделаны. Попробую и ваш вариант, немного попозже.
Audim писал(а):
28 май 2020, 18:12
Попробуйте новую версию - убрал прямые ссылки.
О, отлично, спасибо. Теперь всё вообще работает прозрачно и незаметно.

Ответить