Vitaly2012: О, тут пришла идейка, если сделать https еще на один домен, поставить его <VirtualHost *:443> выше, чтобы https://site1.com, https://site2.com открывались на него. А там поставить пустышку, какой-нибудь index.php, тогда по идее при открытии всех сайтов по https будет видно пустую страницу. Попробую завтра...
да, обычно так и делают, как для http, так и для https
Создают дефолтный субдомен, с пустым index.html
тогда при заходе по ип, или по имени, которого нет в виртуалхостах, будет открываться пустая страница.
[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
+ можно проверить - через 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 клиентов).
'[umka: ;15616476']
Для этого в FTP-клиенте нужно выбрать протокол SFTP, и удаление будет занимать столько же времени, сколько в терминале или в онлайновом файл-менеджере.
Зачем так усложнять жизнь, в WinSCP всё классно - нажал удалить - удалило, нажал скопировать - скопировало. И не важно какой обьем практически. Так же как командами быстро всё делается, но только в графической оболочке. Вот то же под мак надо)
Протокол 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 клиент получает список файлов, и каждый файл удаляется по одному.
О, тут пришла идейка, если сделать https еще на один домен, поставить его <VirtualHost *:443> выше, чтобы https://site1.com, https://site2.com открывались на него. А там поставить пустышку, какой-нибудь index.php, тогда по идее при открытии всех сайтов по https будет видно пустую страницу. Попробую завтра...
да, обычно так и делают, как для http, так и для https
Создают дефолтный субдомен, с пустым index.html
тогда при заходе по ип, или по имени, которого нет в виртуалхостах, будет открываться пустая страница.
[umka], так разобрались вроде ;)
С удалением папок с множеством файлов - согласен, достаточно долго везде.
[umka], В случае с sftp этим обходом занимается sftp клиент
На клиенте это выглядит так
Как видно из лога удаление происходит через
type=13(REMOVE) - это SSH_FXP_REMOVE
+ можно проверить - через sftp (как и через ftp) удаление большого кол-ва файлов занимает много времени. Чем больше файлов в директории, тем больше различие с временем удаления через shell.
[umka] нет, в протоколе sftp рекурсивное удаление директории для сервера выглядит так - получение списка файлов, удаления каждого файла отдельно, после того, как директория станет пуста - удаляется директория. (справедлило для sftp клиентов lftp, transmit, cyberduck, winscp).
Это и потверждает лог удаления
с стороны fxp клиента (lftp):
со стороны сервера
Копирование директорий, в winscp сделано не через sftp протокол (это ихняя фича, которой нет, в других реализациях sftp клиентов).
тогда как понимать ваше сообщение о том, что удаление через sftp будет занимать "столько же времени, сколько в терминале" ?
В терминале (через shell) будет быстрее :)
;15616476']
Для этого в FTP-клиенте нужно выбрать протокол SFTP, и удаление будет занимать столько же времени, сколько в терминале или в онлайновом файл-менеджере.
в sftp тоже нет рекурсивного удаления ;)
winscp некоторые операции делает через shell
К примеру duplicate для сервера выглядит как
Так если открывается ssh сессия на сервер, и выполняется команда копирования через shell.
Это скорее всего уникальная фича winscp и к поддержке sftp протокола отношения не имеет.
Если ваш сервер отдает ошибку, то эта ошибка должна быть в логе вебсервера.
Есть смысл проверить настройки https (вкладка Crypto на cloudflare)
+ на стороне сервера http -> https перенаправления (если они есть)
+ проверить, что возвращает бакенд и фронтенд, при запросе по http / https
Зачем так усложнять жизнь, в WinSCP всё классно - нажал удалить - удалило, нажал скопировать - скопировало. И не важно какой обьем практически. Так же как командами быстро всё делается, но только в графической оболочке. Вот то же под мак надо)
Протокол sftp используется?
Для сервера в данном случае разницы нет, такой лог на стороне сервера имеет winscp, transmit или cyberduck.
Как сказали выше, через ssh это будет на порядко быстрее (может не так удобно, но быстрее точно).
удаление 10к файлов примерно одинаковое время занимает (при удалении в разных клиентах по sftp).
sftp клиент получает список файлов, и каждый файл удаляется по одному.
учитывая повсеместный оверселлинг на услуги VDS, разница в 10 % для reg.ru "незначительна" ;)
хорошо, хоть второе ядро добавили ;)))