Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка сервера в приложении web api

Решение проблем настроек web-сервера при публикации web-приложений

При публикации веб-приложения из 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.

Читать еще:  Как создать папку через терминал в linux


необходимо в диспетчере служб 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» в окне настроек публикации.
Проверьте имя сайта и сравните его с тем, куда публикуете своё приложение.

Ошибка сервера в приложении web api

Здравствуйте! Сегодня: Сб, 4 Апр 2020, Ваш IP: 95.47.253.202
Создать новую тему Страница: 1
Тема: ошибка сервера в приложении «/» · дата добавления: 30.07.2007 / 11:24
Буба Касторский

/avto.aspx»,true)
— responce.redirect(«/avto/avto.aspx»)
— responce.redirect(«

/avto.aspx»)
Всё равно не могу попасть на страничку с данными, появляется эта ошибка. Подскажите, как исправить. где чего подправить??

Ответ # 1 · дата добавления: 30.07.2007 / 11:46
Алексей Немиро

/, чтобы не возникало неожиданных проблем.

Всё равно не могу попасть на страничку с данными, появляется эта ошибка

2. Нужен полный текст ошибки, поскольку так вам никто ничего сказать не
сможет. Ошибки отображаются в режиме дебага: 1. можно указать в файле
web.config:

2. либо в директиве @Page — debug=»true»

Если вы используете try < >catch < >, то описание ошибки и строку, в
которой она происходит, можно получить из Exception:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
try <
.
ваш код
.
>
catch (Exception ex)
<
Response.Write( «Произошла ошибка: » + ex.ToString());
>

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

Ответ # 2 · дата добавления: 31.07.2007 / 19:11
Буба Касторский

1. полная ошибка: » Потльзователю SERGIUSR_serg» не удалось войти в систему. Почему при запущенной студии я вхожу в систему. как исправить эту ошибку??

2. Я с ИИС не могу запустить приложение. знаю, что должно запускаться из ИИС. В чём может быть проблема. вкладка ASP имеется. Файл запуска по умолчанию прописал.

Ошибка сервера в приложении web api

И снова здравствуйте.

> При проверке Web сервер определяется, а опубликованная база не находится.
Пожалуйста, уточните, что означает «база не находится».

Скриншот сообщения в файле Снимок1.

Попробовал исполнить Вашу инструкцию, получил следующее:

1. При публикации через Конфигуратор появилось сообщение Снимок2. NTFS-ные права на БД этой группе добавил.

Не помогло, при «проверке готовности компьютера» ошибка осталась таже «Не удалось найти публикацию базы!». Попробовал войти браузером на опубликованное приложение выдал ошибку про кривую библиотеку ISAPI. Методом проб и ошибок выснилось, что при установке IIS 8.5 «по умолчанию» не устанавливаются компонент «Расширения ISAPI».

2. Устоновил в IIS не достающий компонент «Расширения ISAPI». Опубликованная база опять не нашлась. Но при входе через браузер на публикацию ошибка стала другая.

Ошибка HTTP 500.0 — Internal Server Error

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

Подробные сведения об ошибке:

Обработчик 1C Web-service Extension

Код ошибки 0x800700c1

Запрошенный URL-адрес http://192.168.1.51:80/Money_101251

Физический путь C:InetpubwwwrootMoney_101251

Метод входа Анонимная

Пользователь, выполнивший вход Анонимная

3. После нескольких часов экспериментов базу опубликовать удалось, путем установки галки «использовать аутентификацию операционной системы» при публикации через Кофигуратор.

При «проверке готовности компьютера» ошибок нет. Адрес в настройках 1С проверяется. При входе через браузер возникает следующая ошибка.

Ошибка HTTP 401.2 — Unauthorized

Вы не имеете права просматривать эту страницу из-за недопустимости заголовков проверки подлинности.

Подробные сведения об ошибке:

Модуль IIS Web Core

Обработчик 1C Web-service Extension

Код ошибки 0x80070005З

апрошенный URL-адрес http://192.168.1.51:80/Money_101251

Физический путь C:InetpubwwwrootMoney_101251

Метод входа Пока не определено

Пользователь, выполнивший вход Пока не определено

4. Печальные итоги.

Остановился на двух неработающих вариантах.

Публикация без галки «использовать аутентификацию операционной системы» (Соответствует включенной в консоли IIS для опубликованного приложения «анонимной проверки подлинности»)

Сервис на компе не находится. При попытке синхронизации iPad ошибка в Миниденьгах, что не найден сервис синхронизации. Ощущение что где то на компе не хватает NTFS-ных прав, вроде перепробовал уже все.

Публикация с галкой «использовать аутентификацию операционной системы» (Соответствует отключенной в консоли IIS для опубликованного приложения «анонимной проверки подлинности»)

Сервис на компе находится, адрес проверяется. Но при сихронизации Миниденьги пишут ошибку «Неправильное имя или пароль пользователя настольного приложения». Экспериментировал с заведением пользователя в настольной 1С — ни какие варианты не помогли.

Скорее всего Миниденьги не корректно обрабатывают возвращаемую от сервиса ошибку, и проблема не в пользователе настольного приложения, а в том что запрещены анонимные подключения к сервису.

Подскажите что еще можно покопать и в каком варианте?

Ссылка на основную публикацию
Adblock
detector