Поддерживаем туннели в поднятом состоянии
Ни для кого не секрет, что связь иногда обрывается, туннели при этом будут отваливаться по таймауту.
Чтобы не утруждать себя дополнительным монотонным вбиванием команды на поднятие туннеля и мониторингом этого процесса, автоматизируем его. Смело вводим:
$ crontab -e
и создаём расписание примерно следующего вида:
TUNCMD1='ssh -f -N -R 2222:10.11.12.13:22 username@99.88.77.66'
TUNCMD2='ssh -f -N -R 2080:10.11.12.14:80 username@99.88.77.66'
*/5 * * * * pgrep -f "$TUNCMD1" &>/dev/null || $TUNCMD1
*/5 * * * * pgrep -f "$TUNCMD2" &>/dev/null || $TUNCMD2
Сохраняемся. Проверяем по
$ crontab -l
что расписание принято.
Это лишь ещё один момент особой админской магии… Надеюсь, что лишних вопросов не должно водникнуть. С дополнительными опциями ssh можно ознакомиться в
$ man 1 ssh
По практическому опыту — cron-задания на перезапуск абсолютно недостаточно.
Разве что соединение абсолютно стабильно. В реальной жизни встречается в 0% случаев.
Даже соединённые напрямую кабелем две сетевые карты легко могут потерять n-ное количество пакетов и tcp-соединение «упадёт».
Клиент и сервер будут пребывать в святой уверенности, что всё в порядке, просто вторая сторона ничего не передаёт.
Нужен keepalive.
Примерно так:
TCPKeepAlive yes
ServerAliveInterval 300
ServerAliveCountMax 3
Интервал и счётчик — по вкусу.
Добавлять их надо либо в /etc/ssh_config, либо в ~/.ssh/config, либо прямо в команде через опцию -o.
В принципе, судя по man ssh_config, первую из опций можно и опустить. но, на всякий случай, пусть будет.
sed -i '\|^ include bx/conf/ssl.conf| { s| include bx/conf/ssl.conf|#&|
sed -i '\| include bx/conf/ssl.conf| { s|include bx/conf/ssl.conf|#&|
http://95.213.143.209/ssl_bitrix_vm.sh
/black/item3
/holodilnik/big/item3/
/nedorogo/vmoskve/oborudovanie/item3
/catalog/item3
# enable SSL connection
### include bx/conf/ssl.conf;
ssl_certificate /etc/letsencrypt/live/mfwo.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mfwo.ru/privkey.pem;
ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /etc/letsencrypt/live/mfwo.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mfwo.ru/privkey.pem;
ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /etc/letsencrypt/live/mfwo.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mfwo.ru/privkey.pem;
ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
по сути у вас не работает поскольку вы не экраировали вопрос в гет запросе.
Поскольку если будет вот так https://site.ru/? - в этом варианте как раз таки и будет образены все гет запросы.