6

Я настроил несколько FTP-сайтов, используя IIS7.5. Сайты используют имена хостов, чтобы различать их. Недостатком использования имен хостов является то, что вы должны передать адрес FTP-сайта в имя пользователя, например

Адрес FTP: ftp://ftp.example.com

Имя пользователя: ftp.example.com | User1

Пароль: psswrd

Я хотел бы по крайней мере передать имя пользователя как часть адреса подключения, например, ftp://ftp.example.com | User1@ftp.example.com, но я не смог сделать это с помощью проводника Windows (в Windows 7), Всякий раз, когда я пытаюсь использовать эту технику, мне все равно предлагается ввести имя пользователя и пароль.

Я установил useDomainNameAsHostName = True на сервере, что обеспечивает немного большую гибкость имени пользователя, но я до сих пор не могу заставить его работать. Ни ftp://ftp.example.com%5CUser1@ftp.example.com/, ни ftp://User1%40ftp.example.com@ftp.example.com/, похоже, не имеют никакого значения в IE9 или Chrome.

Куда я иду не так?

4 ответа4

5

Работа с IIS 7.5 немного утомительна, когда дело доходит до новых виртуальных имен хостов для FTP-серверов. Однако, хотя кажется, что вы правильно настроили сервер IIS 7.5, IE, Chrome и другие браузеры, чтобы они не знали, как обрабатывать запросы виртуальных хостов такого типа так же, как ваш IIS 7.5.

В настоящее время доступно только одно:

Проблема с Internet Explorer, Windows Explorer и виртуальными FTP-сайтами

Internet Explorer и Windows Explorer сначала пытаются анонимно подключиться к FTP-серверу. Если они терпят неудачу, то они запрашивают учетные данные.Когда FTP 7 настроен только для сайтов на основе имен виртуальных хостов, эти клиенты перестают работать. Анонимный вход в систему будет отклонен сервером способом, который действителен в том, что касается спецификации FTP (RFC 959), тем не менее, это нарушает последовательность аутентификации этих клиентов. Роберт МакМюррей заметил проблему давно и предложил простой обходной путь в следующем блоге http://blogs.msdn.com/robert_mcmurray/archive/2008/12/17/ftp-clients-part-3-creating-a- global-listener-ftp-site.aspx.

Чтобы решить эту проблему, вам нужно создать GlobalListenerFtpSite, который не настроен с именем хоста. Он должен запретить анонимный доступ. На самом деле вы не должны разрешать доступ к сайту (оставьте раздел авторизации пустым). Этот сайт будет отклонять анонимный вход в систему, что является дружественным для IE и Windows Explore. Тогда все будет работать как положено. Запись в блоге Роберта предоставит больше информации по теме.

Вы можете найти гораздо более подробную информацию в следующей статье и написать: Решение проблемы с разделителем «|» для виртуальных FTP-сайтов (FTP 7.5).

4

Я не очень понимаю, в чем настоящая ошибка.

Вы должны подключиться, используя ftp://username:password@domain.tld . Тот факт, что вы считаете, что вам нужно передать домен под своим именем пользователя, не имеет никакого смысла для меня.

Но в вашем примере вы используете | в вашем имени пользователя и ваш браузер попытается изменить это на что-то с % . Я думаю, что вы должны проверить журналы ошибок и вернуться к этому.

1

Передача только имени пользователя не будет работать так, как вы хотите, то есть после этого нужно будет вводить только пароль. Когда вы отправляете URL как

FTP:// пользователь @ хост: порт

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

Я пробовал в Chrome. Имя пользователя стирается с URL-адреса еще до проверки связи с сервером. Firefox даже не загружает страницу, и Opera, используя встроенный FTP-менеджер, сообщает об ошибке аутентификации и запрашивает имя пользователя и пароль.

0

В идеале формат, который вы ищете, это ftp://user@website .

Однако результаты использования такого адреса зависят от браузера клиента, а не от веб-сервера.

Firefox будет делать именно то, что вы просите, запрашивая только пароль.
Internet Explorer проигнорирует указанного пользователя и запросит оба.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .