Несколько хостов FTP позади одного общедоступного IP

Когда Вы получаете эту ошибку, это означает, что существует, вероятно, что-то прерванное Ваш сайт web.config файл. IIS7 очень полезен в этих случаях и будет обычно указывать на Вас примерно, где проблема заключается.

Например, я сознательно повредил a web.config на испытательной площадке путем создания этого уродливым XML:

enter image description here

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

Не видя полное сообщение об ошибке от Вашего сайта было бы трудно размышлять что не так, кроме которого что-то недопустимо в Вашем web.config файл (или возможно родитель web.config).

Обновление:

На основе Вашего обновления и нового снимка экрана комментируют строку, обозначенную в красном в Вашем web.config файл, например:

<!-- <modules runAllManagedModulesForAllRequests="true"/> -->

Похоже, что эта установка была заблокирована где-нибудь на Вашей машине, вероятно, в applicationHost.config файл в C:\Windows\System32\inetsrv\config.

Вы могли попытаться разблокировать эту установку для разрешения web.config установка, которая будет использоваться путем выполнения следования командной строки Администратора:

appcmd.exe unlock config /section:system.webserver/modules /commit:apphost
0
задан 23 January 2014 в 15:26
3 ответа

Одним из способов решения проблемы было бы позволить одному из устройств обрабатывать весь FTP-трафик, когда один пользователь загружает в локальную файловую систему, а другой - в общую папку, экспортированную из другого. сервер.

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

0
ответ дан 4 December 2019 в 17:50

Хммм,

Вариант 1

Вы пробовали использовать записи SRV для своих FTP-серверов? Вам нужно будет внести некоторые изменения в DNS, и они должны будут отображаться на внутренний IP-адрес ftp-серверов, поэтому будет задействовано некоторое NAT, но это похоже на путь. Из Википедии :

A Service record (SRV record) is a specification of data in the Domain Name System defining the location, i.e. the hostname and port number, of servers for specified services.

и принимает форму

_service._proto.name. TTL class SRV priority weight port target.

Так что для вас я бы сделал что-то вроде

_ftp._tcp.ftp1.example.com. 3600 IN 0 1 21 ftpserver1.example.com

И, конечно же, у меня есть способ преобразовать ftpserver1.example.com в соответствующий IP.

Плохие новости? Не каждое клиентское программное обеспечение поддерживает записи SRV, поэтому, возможно,

Вариант 2

Вам следует использовать прокси, который прослушивает порт 21 и перенаправляет трафик на соответствующий ftp-сервер на основе запрошенного имени DNS.

0
ответ дан 4 December 2019 в 17:50

К сожалению, ftp не поддерживает виртуальный хостинг на основе имени хоста / DNS, как это делает http.

Итак, если у вас должно быть два отдельных ftp-сайта, я бы рекомендовал получить дополнительный внешний IP-адрес.

Если это не оба анонимных ftp-сайта, вы, вероятно, можете обойтись другим chroot для каждого ftp пользователь.

Удачи.

1
ответ дан 4 December 2019 в 17:50

Теги

Похожие вопросы