да, обычно так и делают, как для http, так и для https
Создают дефолтный субдомен, с пустым index.html
тогда при заходе по ип, или по имени, которого нет в виртуалхостах, будет открываться пустая страница.
[umka], так разобрались вроде ;)
[umka], В случае с sftp этим обходом занимается sftp клиент
На клиенте это выглядит так
<--- got a packet, length=24, type=101(STATUS), id=5057 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4989' ---> sending a packet, length=36, type=13(REMOVE), id=5058 <--- got a packet, length=24, type=101(STATUS), id=5058 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4990' ---> sending a packet, length=36, type=13(REMOVE), id=5059 <--- got a packet, length=24, type=101(STATUS), id=5059 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4991' ---> sending a packet, length=36, type=13(REMOVE), id=5060 <--- got a packet, length=24, type=101(STATUS), id=5060 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4992' ---> sending a packet, length=36, type=13(REMOVE), id=5061 <--- got a packet, length=24, type=101(STATUS), id=5061 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4993' ---> sending a packet, length=36, type=13(REMOVE), id=5062 <--- got a packet, length=24, type=101(STATUS), id=5062 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4994' ---> sending a packet, length=36, type=13(REMOVE), id=5063 <--- got a packet, length=24, type=101(STATUS), id=5063 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4995' ---> sending a packet, length=36, type=13(REMOVE), id=5064 <--- got a packet, length=24, type=101(STATUS), id=5064 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4996' ---> sending a packet, length=36, type=13(REMOVE), id=5065 <--- got a packet, length=24, type=101(STATUS), id=5065 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4997' ---> sending a packet, length=36, type=13(REMOVE), id=5066 <--- got a packet, length=24, type=101(STATUS), id=5066 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4998' ---> sending a packet, length=36, type=13(REMOVE), id=5067 <--- got a packet, length=24, type=101(STATUS), id=5067 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/4999' ---> sending a packet, length=36, type=13(REMOVE), id=5068 <--- got a packet, length=24, type=101(STATUS), id=5068 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123/5000' ---> sending a packet, length=36, type=13(REMOVE), id=5069 <--- got a packet, length=24, type=101(STATUS), id=5069 ---- status code=0(OK), message=Success ---- path on wire is `/home/test_ftp/test123' ---> sending a packet, length=31, type=15(RMDIR), id=5070 <--- got a packet, length=24, type=101(STATUS), id=5070 ---- status code=0(OK), message=Success rm ok, 5001 files removed
Как видно из лога удаление происходит через
sending a packet, length=36, type=13(REMOVE), id=5067
type=13(REMOVE) - это SSH_FXP_REMOVE
+ можно проверить - через sftp (как и через ftp) удаление большого кол-ва файлов занимает много времени. Чем больше файлов в директории, тем больше различие с временем удаления через shell.
[umka] нет, в протоколе sftp рекурсивное удаление директории для сервера выглядит так - получение списка файлов, удаления каждого файла отдельно, после того, как директория станет пуста - удаляется директория. (справедлило для sftp клиентов lftp, transmit, cyberduck, winscp).
Это и потверждает лог удаления
с стороны fxp клиента (lftp):
rm -rf test100 rm ok, 5001 files removed
со стороны сервера
May 26 20:02:06 debian9 sftp-server[27324]: opendir "/home/test_ftp" May 26 20:02:06 debian9 sftp-server[27324]: closedir "/home/test_ftp" May 26 20:02:15 debian9 sftp-server[27324]: opendir "/home/test_ftp/test100" May 26 20:02:15 debian9 sftp-server[27324]: closedir "/home/test_ftp/test100" May 26 20:02:15 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0001" May 26 20:02:15 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0002" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0003" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0004" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0005" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0006" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0007" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0008" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0009" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0010" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0011" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0012" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0013" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0014" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0015" May 26 20:02:16 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/0016" .... .... .... May 26 20:03:26 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/4997" May 26 20:03:26 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/4998" May 26 20:03:26 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/4999" May 26 20:03:26 debian9 sftp-server[27324]: remove name "/home/test_ftp/test100/5000" May 26 20:03:26 debian9 sftp-server[27324]: rmdir name "/home/test_ftp/test100"
Копирование директорий, в winscp сделано не через sftp протокол (это ихняя фича, которой нет, в других реализациях sftp клиентов).
тогда как понимать ваше сообщение о том, что удаление через sftp будет занимать "столько же времени, сколько в терминале" ?
В терминале (через shell) будет быстрее :)
в sftp тоже нет рекурсивного удаления ;)
winscp некоторые операции делает через shell
К примеру duplicate для сервера выглядит как
May 25 17:23:10 debian9 snoopy[32745]: [uid:1002 sid:32745 tty:(none) cwd:/home/test_ftp filename:/bin/bash]: -bash May 25 17:23:10 debian9 snoopy[32747]: [uid:1002 sid:32745 tty:(none) cwd:/home/test_ftp filename:/usr/bin/id]: id -u May 25 17:23:10 debian9 snoopy[32748]: [uid:1002 sid:32745 tty:(none) cwd:/home/test_ftp filename:/usr/bin/printenv]: printenv LANG May 25 17:23:11 debian9 snoopy[32749]: [uid:1002 sid:32745 tty:(none) cwd:/home/test_ftp filename:/bin/cp]: cp -p -r -f -T test4 /home/test_ftp/test100
Так если открывается ssh сессия на сервер, и выполняется команда копирования через shell.
Это скорее всего уникальная фича winscp и к поддержке sftp протокола отношения не имеет.
Если ваш сервер отдает ошибку, то эта ошибка должна быть в логе вебсервера.
Есть смысл проверить настройки https (вкладка Crypto на cloudflare)
+ на стороне сервера http -> https перенаправления (если они есть)
+ проверить, что возвращает бакенд и фронтенд, при запросе по http / https
Протокол sftp используется?
Для сервера в данном случае разницы нет, такой лог на стороне сервера имеет winscp, transmit или cyberduck.
May 23 13:25:41 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/07745" May 23 13:25:41 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/00928" May 23 13:25:41 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/08962" May 23 13:25:41 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/07525" May 23 13:25:41 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/04589" May 23 13:25:41 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/03604" May 23 13:25:42 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/06965" May 23 13:25:42 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/03452" May 23 13:25:42 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/00416" May 23 13:25:42 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/01242" May 23 13:25:42 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/05577" May 23 13:25:42 debian9 sftp-server[14766]: remove name "/home/test_ftp/test/06868"
Как сказали выше, через ssh это будет на порядко быстрее (может не так удобно, но быстрее точно).
удаление 10к файлов примерно одинаковое время занимает (при удалении в разных клиентах по sftp).
sftp клиент получает список файлов, и каждый файл удаляется по одному.
учитывая повсеместный оверселлинг на услуги VDS, разница в 10 % для reg.ru "незначительна" ;)
хорошо, хоть второе ядро добавили ;)))