У меня был ProFTP 1.3.2, и я настроил его для работы с одним и тем же пользователем на разных портах с разными корневыми каталогами. В основном конфигурация была такой:
<VirtualHost ftp.domain.tld>
Port 1
AuthAliasOnly on
UserAlias xxx yyy
DefaultRoot /var/ftp/subdir
</VirtualHost>
<VirtualHost ftp.domain.tld>
Port 2
AuthAliasOnly on
UserAlias xxx yyy
DefaultRoot /var/ftp/subdir/uploads_weather/
</VirtualHost>
Я сделал это из-за ограничений моей метеостанции, которая не может сохранять данные в подкаталог.
Я установил новый сервер (Debian Stretch) с ProFTP 1.3.5b, но вышеуказанная конфигурация, похоже, больше не работает. Когда я вхожу на порт 2, я вижу то же содержимое, что и на порту 1.
Я бы не хотел иметь слишком много разных имен пользователей. Можно ли по-прежнему иметь конфигурацию для каждого порта?
Благодаря комментарию Castaglia Я мог разобраться в проблеме.
Я запустил ProFTPD на более высоком уровне лога (proftps -nd10
) и я увидел сообщение об ошибке
не найдено подходящего виртуального хоста для :: ffff: 192.168.178.36 # 2, с использованием DefaultServer 'Debian'
Это напомнило мне о том, что ProFTPd выполняет nslookup операция для его виртуальных хостов. Это не могло работать в моей тестовой среде, потому что это просто виртуальная машина, а не доступная машина в Интернете.
Я исправил тестовую среду, добавив IP-адрес и имя в /etc/hosts
:
192.168.178.36 ftp.domain.tld