Когда Вы получаете эту ошибку, это означает, что существует, вероятно, что-то прерванное Ваш сайт web.config
файл. IIS7 очень полезен в этих случаях и будет обычно указывать на Вас примерно, где проблема заключается.
Например, я сознательно повредил a web.config
на испытательной площадке путем создания этого уродливым XML:
Области, выделенные в красном, предоставляют мне подсказку относительно того, что повреждается.
Не видя полное сообщение об ошибке от Вашего сайта было бы трудно размышлять что не так, кроме которого что-то недопустимо в Вашем 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
Одним из способов решения проблемы было бы позволить одному из устройств обрабатывать весь FTP-трафик, когда один пользователь загружает в локальную файловую систему, а другой - в общую папку, экспортированную из другого. сервер.
В качестве альтернативы можно полностью отказаться от FTP и использовать WebDAV, что позволит использовать виртуальный хостинг на основе имен.
Хммм,
Вы пробовали использовать записи 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, поэтому, возможно,
Вам следует использовать прокси, который прослушивает порт 21 и перенаправляет трафик на соответствующий ftp-сервер на основе запрошенного имени DNS.
К сожалению, ftp не поддерживает виртуальный хостинг на основе имени хоста / DNS, как это делает http.
Итак, если у вас должно быть два отдельных ftp-сайта, я бы рекомендовал получить дополнительный внешний IP-адрес.
Если это не оба анонимных ftp-сайта, вы, вероятно, можете обойтись другим chroot для каждого ftp пользователь.
Удачи.