Назад | Перейти на главную страницу

530 При настройке IIS 10 для нескольких сайтов ожидается действительное имя хоста.

Я настроил в IIS несколько FTP-сайтов, используя приведенные здесь инструкции: https://docs.microsoft.com/en-us/iis/publish/using-the-ftp-service/using-ftp-virtual-host-names-in-iis-7

См. Конфигурацию, которую я получил ниже.

В IIS я настроил базовую аутентификацию и использовал пользователя mysite_ftp для «Подключиться как», при тестировании настроек я получаю зеленые галочки как для аутентификации, так и для авторизации.

Настройки IIS:

Когда я использую Filezilla для попытки подключения, я получаю такой журнал:

Пробовал с именем хоста VPS: h2746286.stratoserver.net

Status: Resolving address of h2746286.stratoserver.net
Status: Connecting to 85.214.200.30:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Command:    USER tv_ftp
Response:   331 Valid hostname is expected.
Command:    PASS ***********
Response:   503 Login with USER first.
Error:  Critical error: Could not connect to server

Пробовал с именем хоста: www.telefonievergelijken.nl

Status: Resolving address of www.telefonievergelijken.nl
Status: Connecting to 85.214.200.30:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Command:    USER tv_ftp
Response:   331 Valid hostname is expected.
Command:    PASS ***********
Response:   503 Login with USER first.
Error:  Critical error: Could not connect to server

Пробовал с именем хоста: ftp.telefonievergelijken.nl

Status: Resolving address of ftp.telefonievergelijken.nl
Status: Connecting to 85.214.200.30:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Command:    USER tv_ftp
Response:   331 Valid hostname is expected.
Command:    PASS ***********
Response:   503 Login with USER first.
Error:  Critical error: Could not connect to server

applicationHost.config

<sectionGroup name="system.ftpServer">
    <section name="log" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="firewallSupport" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="caching" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="providerDefinitions" overrideModeDefault="Deny" />
    <sectionGroup name="security">
        <section name="ipSecurity" overrideModeDefault="Deny" />
        <section name="requestFiltering" overrideModeDefault="Deny" />
        <section name="authorization" overrideModeDefault="Deny" />
        <section name="authentication" overrideModeDefault="Deny" />
    </sectionGroup>
    <section name="serverRuntime" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
</sectionGroup>

<sites>
    <site name="othersite" id="2">
        <application path="/" applicationPool=".NET v4.5">
            <virtualDirectory path="/" physicalPath="E:\othersite\wwwroot" userName="othersite_web" password="[enc:IISCngProvider:b1dn9+We00KRNWUB6shbPm/hLtBOF2hOG9We5zVgaEmYL5C/fDLxDc3QH9Rnvi79SjeM+Rauk/bQWEBzJnw=:enc]" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:www.othersite.nl" />
            <binding protocol="http" bindingInformation="*:80:othersite.nl" />
        </bindings>
    </site>
    <site name="telefonievergelijken" id="3">
        <application path="/" applicationPool=".NET v4.5">
            <virtualDirectory path="/" physicalPath="E:\telefonievergelijken\wwwroot" userName="tv_web" password="[enc:IISCngProvider:x+PhGwZweUwR53tUgGTdEGui8k4gIJRASehxKVtsPoTtxNIA8aRe8WUwvdLuEdzSQicrJVDwen7e/C6x9qfiFyudqtZYwhXuo=:enc]" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:www.telefonievergelijken.nl" />
            <binding protocol="http" bindingInformation="*:80:telefonievergelijken.nl" />
        </bindings>
        <traceFailedRequestsLogging enabled="true" directory="E:\IISData\LogFiles\FailedReqLogFiles" />
    </site>
    <site name="FTP-othersite" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="E:\othersite\wwwroot" />
        </application>
        <bindings>
            <binding protocol="ftp" bindingInformation="127.0.0.1:21:" />
        </bindings>
        <ftpServer>
            <security>
                <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" />
                <authentication>
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
        </ftpServer>
    </site>
    <site name="FTP-TV" id="4">
        <application path="/">
            <virtualDirectory path="/" physicalPath="E:\telefonievergelijken\wwwroot" userName="tv_ftp" password="[enc:IISCngProvider:xYxqamuKq02/xUcvZGTdEGui8gh3w6XT0hEegnCMZbVIxeWIOypRIZ1u8UAOG/AJg=:enc]" />
        </application>
        <bindings>
            <binding protocol="ftp" bindingInformation="127.0.0.1:21:www.telefonievergelijken.nl" />
        </bindings>
        <ftpServer>
            <security>
                <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" />
                <authentication>
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
        </ftpServer>
    </site>
    <siteDefaults>
        <logFile logFormat="W3C" directory="E:\IISData\LogFiles" />
        <traceFailedRequestsLogging directory="E:\IISData\LogFiles\FailedReqLogFiles" />
        <ftpServer>
            <logFile directory="E:\IISData\LogFiles\FTPLogs" />
            <security>
                <authentication>
                    <basicAuthentication enabled="false" />
                </authentication>
            </security>
        </ftpServer>
    </siteDefaults>
    <applicationDefaults applicationPool="DefaultAppPool" />
    <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>        

ОБНОВЛЕНИЕ 1

Ах, я изменил IP-адрес 127.0.0.1 на внешний IP-адрес моего VPS. Когда я пытаюсь связаться с ftp.telefonievergelijken.nl|tv_ftp Я получаю сообщения об ошибках:

Error:  Could not connect to server
Status: Waiting to retry...
Status: Resolving address of ftp.telefonievergelijken.nl|tv_ftp
Status: Connection attempt failed with "EAI_NONAME - Neither nodename nor servname provided, or not known".

ОБНОВЛЕНИЕ 2

Изменены настройки имени пользователя для подключения:

При настройке с двумя или более именами хоста правильное имя виртуального хоста и имя пользователя должны быть отправлены в имени пользователя ftp-клиентом. Разделите имя сайта и пользователя символом вертикальной линии: |

www.example.com|MyUser

Итак, в вашем FTP-клиенте используйте это для имени пользователя:

ftp.telefonievergelijken.nl|tv_ftp

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

Я основываю это только на выводе ошибок из Filezilla, который вы включили, поскольку вы подвергли цензуре имя хоста (даже в форме примера) из вывода, так что больше нечего делать.

Вам нужно будет настроить привязку на FTP-сайте, которая соответствует имени хоста, которое вы используете для подключения к FTP-сайту (будь то из Filezilla или любого другого FTP-клиента).

РЕДАКТИРОВАТЬ: Из вашей обновленной информации о сообщении я заметил, что ваши привязки для FTP-сайта действительно неправильно настроены - в настоящее время у вас есть только FTP-сайт, привязанный к адресу обратной связи localhost (127.0.0.1). Вам нужно будет привязать его к адресу без обратной связи, который имеет внешнюю маршрутизацию. В зависимости от вашей среды это, скорее всего, будет либо ваш внешний IP-адрес (если он сопоставлен напрямую с сервером), либо внутренний IP-адрес (если у вас настроен NAT). Основываясь на текущей информации, я предполагаю, что у вас должен быть настроен другой FTP-сайт, который перехватывает эти запросы и показывает вам ошибку неверного имени хоста. После правильной настройки этого FTP-сайта все должно работать, как задумано.

Кроме того, ответ @Dre также имеет решающее значение (поэтому вы также должны проголосовать за него) - если у вас есть несколько FTP-сайтов, привязанных к одному IP-адресу, вам нужно будет указать имя хоста в поле `` пользователь '' вашего FTP-клиента в Формат hostname|user

Если вы не размещаете несколько хостов на порту 21 (или любом другом порту, который вы используете), вы также можете просто удалить привязку в настройках IIS, т.е. очистить поле «Имя хоста» в разделе «Привязки сайта» >> «Изменить привязку сайта» ". После этого он должен работать, если у вашего пула приложений есть соответствующие разрешения.