xshell避免长时间未操作断开连接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xshell避免长时间未操作断开连接相关的知识,希望对你有一定的参考价值。
看你们的回答,好复杂,来点简单的好不好,在你的客户端xshell界面就搞定。
修改/etc/ssh/sshd_config文件,找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号("#")去掉,
将ClientAliveInterval对应的0改成60,
ClientAliveInterval指定了服务器端向客户端请求消息 的时间间隔, 默认是0, 不发送.
ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.
ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开.
重启ssh服务
root@ubuntu:~$ /etc/init.d/ssh stop
root@ubuntu:~$ /etc/init.d/ssh start 参考技术B http://www.jb51.net/LINUXjishu/66601.html 参考技术C 据说是服务器端户自动断掉这一个连接,具体我也没搞明白,现在还在查~
HTTP 心跳以避免长时间运行的 http 调用的连接断开
【中文标题】HTTP 心跳以避免长时间运行的 http 调用的连接断开【英文标题】:HTTP heartbeat to avoid connection drop for long running http calls 【发布时间】:2019-04-24 19:35:45 【问题描述】:我在 Heroku PaaS 上部署了一个应用程序。
他们有这样的超时政策 (https://devcenter.heroku.com/articles/request-timeout):
30 秒,每在连接中发送或接收一个字节就延长 55 秒。
我有可能需要一段时间的 http 端点(上传文件,需要一些时间来摄取它,然后返回 200 ok)。 如果处理时间超过 30 秒,Heroku 路由器将断开连接,整个过程中止。
有普通的 HTTP/JSON API 端点。 客户端是 Angular 6+,服务器是 Spring Boot 2+(Spring MVC,没有响应式的东西)。
我知道我可以使流程异步,无需向我指出那个方向。
问题是:有没有办法在处理数据的同时从浏览器或服务器端继续在连接中发送内容?
某种保活噪音,例如可以在 SSH 连接中执行的操作。
我可以在 Angular 应用程序中添加一些作为拦截器的东西会很完美。
【问题讨论】:
【参考方案1】:在我们的应用程序中,我们可以向 api 发送简单的请求,以便登录保持活动状态。也许您可以为您的应用做类似的事情?
return this.http
.get('login_url')
.pipe(
map(() =>
console.log('Heartbeat OK.');
localStorage.setItem('isAuthenticated', 'true');
return '1';
),
timeout(this.appConfigService.getConfig().heartbeatTimeout),
catchError(() =>
console.log('Heartbeat Error');
localStorage.setItem('isAuthenticated', 'false');
return '0';
),
retry(),
delay(this.appConfigService.getConfig().heartbeatDelay),
repeat()
);
【讨论】:
以上是关于xshell避免长时间未操作断开连接的主要内容,如果未能解决你的问题,请参考以下文章
用xshell连接Linux,我想主动断开连接,改用啥命令?