0

Веб серверы не обнаружены

При публикации веб-приложения из Visual Studio разработчик может столкнуться с некоторыми проблемами, и не всегда текст ошибки может помочь избавиться от проблем и правильно настроить сервер.
Ниже я опишу наиболее распространенные из них.
Надеюсь, что данная статья поможет сэкономить время, большое количество которого я потратил при изучении проблем.

Давайте попробуем развернуть приложение на чистый сервер Windows 2008 R2, на котором установлена роль «Web Server (IIS)».

1. Для этого в Visual Studio (у меня Visual Studio 2012 Professional) кликаем правой мышкой на проекте и выбираем пункт меню «Publish. »

Откроется окно мастера публикации, в котором нужно создать профиль

Вводим имя профиля (я назвал профиль также, как называется мой веб-сервер — «app10») и нажимаем кнопку «ОК».
Затем заполняем поля ввода и нажимаем кнопку «Validate Connection».

И тут начинается самое интересное.

2. Валидация завершилась с ошибкой.
Для того, чтобы посмотреть текст ошибки, нужно щелкнуть на гиперссылке «Failed (click for details)»

3. Первая ошибка:
Could not connect to the destination computer ("app10"). On the remote computer, make sure that Web Deploy is installed and that the required process ("The Web Management Service") is started.)

Студия не получила ответа от сервера.
Необходимо проверить настройки веб-сервера (в моем случае он имеет доменное имя «app10»), для чего необходимо зайти в Server Manager (у меня на сервере установлена англоязычная версия Windows 2008 R2, поэтому я буду писать английский наименования пунктов меню и заголовков окон).

4. Откройте диспетчер служб IIS и выберите узел с именем машины:

Я скрыл имя пользователя на скриншоте.

5. В разделе «Management» нужно проверить наличие пунктов «IIS Manager Permissions», «IIS Manager Users» и «Management Service».
У меня их нет, поэтому нужно установить.
Для этого щелкните правой мышкой на пункт «Web Server (IIS)» в левой части окна «Server Manager» и выберите пункт «Add Role Services».
Откроется окно выбора роли.
В разделе «Management Tools» отметьте пункт «Management Service» и нажмите кнопку «Next».

В следующем окне мастера добавления роли нажмите кнопку «Install».

Необходимо дождаться окончания процесса добавления роли и убедиться, что все прошло успешно:

Закрываем окно добавления роли и опять переходим к разделу «Management» (см. пункт 5).
Необходимые нам пункты появились.

6. Необходимо проверить, что Брендмауэр Windows не мешает установлению соединения.
Для этого откройте оснастку «Windows Firewall with Advanced Security», которая находится в меню «Пуск» — «Administrative Tools».
Необходимо убедиться, что входящие соединения на порт 8172 разрешены.
(У меня брендмауэр вообще отключен).

7. Необходимо убедиться, что Web Management Service слушает порт 8172.
Для этого откройте в настройках сервера дважды щелкните мышкой по пункту «Management Service»

В открывшемся окне проверьте, что указан порт 8172, а также разрешите удаленные подключения, установив галочку «Enable remote connection».
Если не поставить эту галочку, то в мастере публикации в Visual Studio будет возникать ошибка:
Could not connect to the remote computer ("app10") using the specified process ("The Web Management Service") because the server did not respond. Make sure that the process ("The Web Management Service") is started on the destination computer. The remote server returned an error: (403) Forbidden.

Читайте также:  Играть в новые игры на старом компе

Теперь нажмите кнопку «Apply» с зеленой галочкой в правой части окна надстроек.
После применения настроек нажмите там же кнопку «Start», что приведет к запуску службы.

8. Переключаемся в Visual Studio и снова нажимаем кнопку «Validate Connection» в мастере публикации.
У меня открылась ошибка сертификата, но ее можно просто игнорировать и нажать кнопку «Accept», предварительно поставив галочку «Save this certificate for future sessions of Visual Studio».

9. После этого у меня возникла ошибка 404:
Could not connect to the remote computer ("app10"). On the destination computer, make sure that Web Deploy is installed and that the required process ("The Web Management Service") is started. The remote server returned an error: (404) Not Found.

Необходимо убедиться, что установлен инструмент «Microsoft Web Deploy 2.0».
Для этого пройдите в «Пуск» — «Control Panel» — «Programs and Features» и проверьте наличие установленного продукта «Microsoft Web Deploy 2.0».
Если его нет, то скачайте его отсюда и установите на сервере.
Во время установки нужно выбрать тип установки «Custom» и выбрать для установки все пункты, предлагаемые инсталлятором:

После чего обновите окно «Programs and Features» и он у вас появится.

10. После установки «Microsoft Web Deploy 2.0» необходимо перезапустить службу «Web Management Service».
Теперь нажимаем кнопку «Validate Connection» в мастере публикации в Visual Studio и ВУАЛЯ.
Проверка успешно пройдена.

Нажимаем кнопку «Next» дважды и публикуем приложение на веб-сервер, нажав кнопку «Publish».

В завершение данной статьи хочу сказать, что наиболее информативные сообщения при возникновении ошибок во время публикации веб-приложения можно найти в файле логов IIS, который по умолчанию находится по следующему пути:
%SystemDrive%InetpublogsWMSvc
Только помните, что как и в случае с другими журналами IIS, данные не записываются в журнал сразу, так что вам, возможно, придется подождать пару минут, чтобы увидеть последние сообщения, или перезапустить службы веб-управления, чтобы сбросить данные журнала в лог-файл.

Если во время проверки соединения с сервером (при нажатии на кнопку «Validate Connection») возникает ошибка:
Could not complete an operation with the specified provider ("contentPath") when connecting using the Web Management Service.


необходимо в диспетчере служб IIS выбрать узел с именем машины и дважды кликнуть левой клавишей мыши на пункте «Management Service Delegation»:

В открывшемся окне необходимо добавить новое правило, нажав в правой верхней части на ссылку «Add Rule. » и выбрав пункт «Deploy Applications with Content» и нажав кнопку «ОК»:

В открывшемся окне необходимо указать пользователя, учетные данные которого вы используете для публикации из Visual Studio:

А также в выпадающем меню Providers необходимо дополнительно выбрать пункты «createApp» и «setAcl»:

После нажатия кнопки «ОК» откроется окно добавления пользователя.
Здесь в поле «Name» можно поставить * и нажать кнопку ОК:

После выполнения данных действий, окно правил «Management Service Delegation» будет иметь следующий вид:

И описанная ошибка исчезнет.

Если во время проверки соединения с сервером (при нажатии на кнопку «Validate Connection») возникает ошибка:
Could not connect to the remote computer ("serverName") using the specified process ("Web Management Service") because the server did not respond. Make sure that the process ("Web Management Service") is started on the remote computer.

Читайте также:  Вк вход регистрация создать страницу

а в конце текста ошибки написано «The remote server returned an error: (550)».

Это говорит о том, что вы опечатались в параметре «Site name» в окне настроек публикации.
Проверьте имя сайта и сравните его с тем, куда публикуете своё приложение.

Есть терминальный сервер, есть сервер MSSQL и Сервер 1С. Все подключаются через тонкий клиент к терминалу, а сервер 1С выдает ключи. Но при подключении через браузер – ключей не видно. Ошибка гласит:

Что самое интересное, ошиба на ключ происходит до открытия формы авторизации. Когда как обычно, когда ключи не видно – ошибка происходит уже после авторизации.

  • Вопрос задан более трёх лет назад
  • 14165 просмотров

Что самое интересное, ошиба на ключ происходит до открытия формы авторизации. Когда как обычно, когда ключи не видно – ошибка происходит уже после авторизации.

При веб-доступе после ввода логина/пароля вы можете поймать проблему отсутствия свободных лицензий. Когда веб-сервер не видит сервер лицензирования, то он сразу об этом говорит.

В своем описании вы ни слова не написали про компьютер, на котором находится ваш веб-сервер. То что на этом компьютере установлена платформа необходимой версии – это очевидно, но судя по сообщению так же очевидно, что вы не создали в каталоге C:Program Files1cv8conf или /opt/1C/v8.2/i386/conf (в зависимости от ОС) файлик nethasp.ini с путем к серверу лицензий. Это помогает, если сервер по каким-то своим причинам не выдает лицензию.

Далее проверьте в консоли кластера название центрального компьютера (на котором крутится менеджер лицензирования) и доступность этого названия с компьютера веб-сервера. Я встречался и с такой ситуацией – помогает прописывание соответствие имени и IP адреса в файлике hosts.

Третий вариант который мне приходит в голову и который я видел на практике – фаервол на сервере блокирует порт по которому расширение веб-сервера пытается подключится к кластеру. Помогло изменение правил.

Веб сервер на терминальном стоит.
nethasp.ini лежит в C:Program Files1cv82conf, стандартная конфигурация

лицензии выдает именно сервер приложений, отдельная машинка с MSSQL. Но вот веб клиент не видит ни nethasp, который лежит я уже сказал где, ни менеджера лицензий.

м.б. в апачи где то дело? Прав не хватает?

Проблема с правами доступа возникает насколько мне известно только при использовании веб-сервера поверх файловой базы – явно не ваш вариант.

Как вы подключаетесь тонким клиентом? Напрямую к серверу? Сделай подключение в тонком через веб – будет ли проблема с ключем в этом случае? Если да, то попробуйте в качестве эксперимента в настройках стартера использование аппаратной лицензии – возможно есть другие проблемы, которые замаскированы ключем. А еще лучше было бы включить логирование и посмотреть эксепшены.

>И разве веб клиент использует какой то свой порт, когда он подключается к скулю? Ведь тонкие клиенты работают.

Читайте также:  Восстановление bad секторов hdd

Вы написали, что все работают на терминальном сервере. Если бы веб-сервер у вас был в стороне, то могла бы быть проблема в правилах фаервола.

Краткая справка по Open Server

Open Server — портативная серверная платформа.

Это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.

Все, что достаточно знать 1С-нику про Open Server – это то, что он включает в себя веб-сервер Apache 2, а значит, может быть использован для публикации баз 1С для веб-клиента, веб-сервисов или мобильного приложения.

Но все, кто пытались выполнить публикацию базы при запущенном OpenServer-e, столкнулись со следующей проблемой:

При выборе пункта меню "Администрирование" – "Публикация на веб-сервере" 1С предупреждает "Веб-серверы не обнаружены". Что означает, что запущенные веб-серверы на данном ПК не обнаружены и окно настройки не открывается.

Поиск в интернете тоже не дает правильного решения. На мисте предлагают редактировать конфиг-файл апача, в котором прописать путь к файлу wsap22.dll из bin-каталога установки 1С.

MyApp – это каталог в который публикуется база.

В Open Server этот файл можно найти следующим образом:

Но самое грустное заключается в том, что после этих манипуляций проблема не исчезает.

После нескольких дней возни я все-таки сдался и решил устанавливать отдельно еще и Apache. После установки проблема была решена, но меня вообще не устраивало что у меня на компе устновлено два веб-сервера. Что нужно постоянно то включать один, то отключать для того, чтобы включить другой.

Как-то раз я выключил Apache и запустил Open Server. Поработав некоторое время с Open Server, мне понадобилось вернуться в 1С. Но в спешке я не остановил Open Server и не запустил Apache и, о чудо, в 1С открылось окно настройки публикации. Тогда я понял, в чем заключается решение.

При попытке опубликовать что-то из 1С на веб-сервере, 1С проверяет наличие службы Apache 2:

И самое главное, что 1С неважно, запущена эта служба или нет, главное, чтобы она была.

Когда выполняется установка Apache, эта служба устанавливается автоматически, а вот когда выполняется запуск Open Server, никакие службы автоматически не устанавливаются. В этом и вся проблема.

В итоге, для того чтобы 1С увидела веб-сервер Open Server-а нужно после инсталяции Open Server-а зарегистрировать службу веб-сервера из командной строки:

Теперь рассмотрим, как настроить Open Server так, чтобы к веб-серверу можно было подключиться на другом устройстве по IP-адресу. Например, нужно посмотреть, как будет выглядеть форма в веб-клиенте на планшете.

Я думаю, из скриншота все и так ясно. Обозначу только что:

192.168.1.105 – это адрес ПК на котором запущен Open Server.

MyApp – это каталог, в который опубликована база.

Теперь на любом устройстве, подключенном к локальной сети, достаточно запустить браузер и в адресной строке написать: http:\ 192.168.1.105 MyApp.

И не забывайте, что перед изменением конфиг-файла или настроек Open Server необходимо остановить.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *