В Windows Server 2012 R2 с IIS 8.5 у меня есть FTP-сайт, нормально работающий с анонимным доступом, если в привязках сайта не указано имя хоста. Как только я ввожу значение для имени хоста, браузер клиента (протестированный в Chrome) отображает запрос «Требуется аутентификация» с запросом имени пользователя и пароля.
Мне нужно привязать имя хоста, потому что на этом сервере будет размещаться несколько FTP-сайтов, но эта проблема эффективно предотвращает использование привязки имени хоста. Я не могу представить, как имя хоста повлияет на аутентификацию. Без SSL.
Чтобы проверить наличие проблем с разрешениями, я предоставил доступ «Всем» к физическому пути без каких-либо изменений в поведении.
Одна из имеющихся у меня настроек, которая может быть актуальной, находится в разделе «FTP-аутентификация»> «Анонимная аутентификация»> «Редактировать»> «Анонимный идентификатор пользователя», у меня указана учетная запись домена. Использование «Просмотр эффективного доступа» в Windows показывает, что эта учетная запись имеет достаточные разрешения на физический путь, и, конечно, как я уже сказал, она отлично работает без указанного имени хоста.
Как я могу получить анонимный доступ к FTP-сайту в IIS, а также привязать имя хоста для этого сайта?
Я обнаружил ту же проблему, поэтому начал экспериментировать ...
Проблема с привязкой хоста в FTP заключается в том, что, хотя он доступен в IIS с версии 7.5, он зависит от клиента, имеющего эту функцию. Так, например, используя FTP Voyager, я обнаружил, что он отлично работает и позволяет мне войти прямо в настройку учетной записи FTP в IIS 8.5 с определенной привязкой к хосту.
Используя cmd.exe для FTP или используя Filezilla (v3.5.3), я получаю ошибку аутентификации 530, которая, как мне кажется, является той же ошибкой, которую вы видите.
Если вы получите эту ошибку, вы обнаружите, что в файле журнала для этого конкретного FTP-сайта нет записей (при условии, что вы настроили ведение журнала для каждого сайта), поскольку IIS не знает, к какому FTP-сайту маршрутизировать соединение. Если у вас есть один FTP-сайт, который не использует привязку имени хоста, вы обнаружите, что там есть запись в журнале, но, конечно, на этом FTP-сайте, вероятно, не будет настроенного входа пользователя, который вы пытаетесь использовать, поэтому вы там также будет ошибка аутентификации.
Поэтому, если вы контролируете людей, которые будут подключаться к этим FTP-сайтам, и программное обеспечение FTP, которое они будут использовать, вы можете убедиться, что они используют совместимое программное обеспечение.
Если это новые соединения, например, пользователи будут настраивать эти данные с нуля на основе того, что вы им отправляете, тогда вы можете использовать методы, описанные в опубликованном блоге milope, чтобы принудительно отправить имя хоста как часть процесса входа в систему.
Если это существующие подключения, например, вы пытаетесь объединить несколько FTP-серверов с их существующими учетными данными для входа в один сервер, то я не думаю, что вы, к сожалению, много чего можете сделать с точки зрения развертывания этого в качестве простой замены.
Ссылаясь на следующий блог Вот.
Узлы FTP IIS предоставляют два метода, с помощью которых клиент может указать предполагаемый узел.
Думаю, что для анонимного доступа с привязкой к FTP-узлу вам доступен только вариант 2. В противном случае вы можете попробовать привязку к другим портам или IP-адресам.
При использовании разных портов нет необходимости в хостах, а при использовании разных IP-адресов вы можете сопоставить записи DNS с каждым IP-адресом.