Одна голова - хорошо, а целое сообщество - ещё лучше.
Помогите, пожалуйста, решить задачу.
Дано:
SERVER - главный сервер, куда поступают запросы пользователей для подключения к базам, но на самом сервере ни агента сервера 1С, ни баз данных нет. Это веб-сервер с настроенным Apache.
SERVER_01 - Сервер с базами данных. Там есть свой Apache, агент сервера 1С, СУБД и, естественно, опубликованные базы.
SERVER_02 - Сервер с базами данных. Там есть свой Apache, агент сервера 1С, СУБД и, естественно, опубликованные базы.
Используется платформа 1С версии 8.3.22.1923.
Apache на компьютере SERVER версии 2.4
Apache на компьютерах SERVER_01 и SERVER_02 версии 2.2
На компьютере "SERVER" в конфигурационном файле Apache на уровне сервера добавил строки:
В строке браузера набираю "http://SERVER/db01" или "http://SERVER/db02" - работает доступ к базам, а через тонкого клиента (платформу 1С) вход в базу сопровождается ошибкой:
| Ошибка при выполнении операции с информационной базой
| Попытка начала сеанса с информационной базой завершилась неудачно
Найти:
Как настроить Apache, чтобы пользователь, обращаясь по адресу http://SERVER/db01 попадал в базу http://SERVER_01/db01 через тонкого клиента (платформу 1С)?
Как настроить Apache, чтобы пользователь, обращаясь по адресу http://SERVER/db02 попадал в базу http://SERVER_02/db02 через тонкого клиента (платформу 1С)?
------------
Я уже и "RedirectMatch" пробовал, и "AliasMatch" - ничего не помогает. Для браузера все варианты подходят, а через платформу никак не хочет в базу заходить. В настройках Apache я не особо силён.
Поштото мне кажется, что по адресу дб01 будет просто корневой каталог сервера 1. И чтобы добраться до базы, нужно, видимо, что-то типа "сервер/дб01/мияпубликации". Но тут другая проблема - 1С же генерит внутренние ссылки исходя из того, что она на сервер01, а не на сервер. Наверное можно как-то это разрулить, особенно если из браузера все работает...
Алиас пробовал, но он же, получается, внутри сервера "SERVER" будет работать. А все запросы надо слать подальше... На "SERVER_01" и "SERVER_02". Получается, что опять редиректить, только внутри алиаса, но это же всё равно будет редирект. Хрень редьки не слаще, по-моему. Или я что-то не понимаю?
(6)
Там-то всё просто: веб-сервер и сервер 1С в одной локальной сети. Так опубликовать базу не проблема. У меня "SERVER" и "SERVER_01" не в одной локальной сети. Между ними Интернет. Ещё проблема в том, что при такой публикации в работе с базой весь трафик поползёт через компьютер "SERVER", а мне не хотелось бы, чтобы он был. Нужно, чтобы пользователя сразу откинуло на нужный сервер, а дальше в работе с базой он бы работал напрямую с нужным сервером. Без посредников в виде компьютера "SERVER".
Поможет ли как-то NGINX ? Или это будет то же самое, что и Apache, только с другим названием ?
(7) тут не важно на чем сам веб-сервер. Тонкий клиент не работает с редиректом.
Как вариант: написать какой-либо сервис, который будет обрабатывать редирект и запускать тонкий клиент 1С программно (или из командной строки).
В чем сложность сразу в настройках запуска указывать нужный итоговый путь?
В чем сложность сразу в настройках запуска указывать нужный итоговый путь?
Не столько сложность, сколько особенность. Пользователю не обязательно знать, что база переехала физически на другой сервер. Пользователей много, да и каждому объяснять, что база переехала - это что-то с чем-то.
Тоже работает в браузере, но не работает через тонкого клиента. В логах возвращается код 302 (тоже редирект по сути), с которым тонкий клиент не хочет работать.