我已经通过 SSH 连接到我的服务器并创建了一个进程,但突然我的互联网连接断开了。我知道进程正在进行,但是如何恢复以前的会话以查看进度呢?
我们有一个Windows 2008 R2没有活动目录的服务器,所有的凭证都是单一的。
可以在不注销的情况下与会话断开连接。
有没有办法在我知道它的情况下直接连接到断开连接的会话Session ID?
说明:tscon很好,但我想直接连接到会话。
目前,我登录所有人,直到找到想要的会话。
我运行 debian 挤压标准 Apache 安装 (2.2) 并使用 SSLClientCertificates 来授权用户。到目前为止,这工作正常。
但是我们注意到一些并行请求变慢了,并试图检查我的SSLSessionCache是否正常工作。
所以我检查了我的本地主机/服务器状态,它是这样写的:
SSL/TLS Session Cache Status:
cache type: SHMCB, shared memory: 512000 bytes, current sessions: 0
subcaches: 32, indexes per subcache: 133
index usage: 0%, cache usage: 0%
total sessions stored since starting: 0
total sessions expired since starting: 0
total (pre-expiry) sessions scrolled out of the cache: 0
total retrieves since starting: 0 hit, 0 miss
total removes since starting: 0 hit, 0 miss
Run Code Online (Sandbox Code Playgroud)
似乎正在运行,但无论我发出什么 SSL 请求,所有计数器都保持为 0,因此没有缓存任何会话。 …
我需要一种方法来跟踪和限制网络会话到网络应用程序。“会话”被松散地定义为单个用户浏览所述网络应用程序的页面。我觉得可以翻译成:
<clientIP,vHost>或者是<clientIP,serverIP,serverPort>或<cookie,vHost>,具体取决于层和可用数据达到指定的会话限制后,应将下一个用户定向到自定义错误页面。我还需要一种方法来跟踪当前会话数以进行监控,以及将监控服务器(它定期向 web 应用程序发出查询)列入白名单并使其不受限制的能力。
我可以使用的东西:
我宁愿不涉及额外的代理服务器,但如果没有其他选择,我会考虑它。
所有这一切背后的基本原理是,上述 Web 应用程序很容易过载并开始不规律地拒绝请求,这激怒了(通常)在此过程中丢失表单输入数据的工作用户。通过指定一个不太可能发生过载条件的限制,我们希望创建一个明确定义的故障条件,如果负载可能会激增,用户将被告知稍后返回。
编辑:Web 应用程序是一个 3 层实现,第一层(表示层,在 Apache vHost 中实现为 CGI 代码)相当简单,显然仅限于应用服务器之间的基本错误处理和请求负载平衡。它不会对其运行的 Web 服务器施加任何重大负载 - 这就是为什么我们在 AppDirector 场中仅以故障转移模式(无负载平衡)运行它,这应该在某种程度上简化事情。
除此之外的一切对我们来说基本上都是一个黑匣子——在数据层,我们有一个 MSSQL 数据库,但几乎不可能从供应商那里获得有关表结构的任何有意义的信息。应用服务器是闭源的,供应商使用了一个相当全面的框架来实现,但似乎无法回答更不复杂的操作相关问题。
我在使用 Apache2 的 Debian 网络服务器上的 PHP 会话mod_php似乎随机失败,说没有空间来编写它们:
sudo tail -60 /var/log/apache2/error.log
[Fri Jan 30 15:55:35 2015] [error] [client xxx.xxx.xxx.xxx] PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_555555555555555555, O_RDWR) failed: No space left on device (28) in /path/to-first-session-use/core/bootstrap.php on line 18
Run Code Online (Sandbox Code Playgroud)
当我尝试:
ls /tmp
Run Code Online (Sandbox Code Playgroud)
它只是永远挂起,所以这很糟糕。
但是当我检查可用空间并检查 inode 使用是否合理时......
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 150G 121G 22G 85% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 10M 16K 10M 1% /dev
tmpfs 2.0G 4.0K 2.0G 1% …Run Code Online (Sandbox Code Playgroud) 每次解锁 Windows 7 会话时如何运行脚本?
因此,如果我锁定会话然后再次登录,我希望脚本运行。
组策略中配置的登录脚本是否执行此操作,或者它们仅在第一次工作?
将 IIS 应用程序池中的 .Net 版本更改为 v4,然后再次将其更改回 v3.5 后,ASP.net 状态服务似乎从我们的 Web 服务器的服务列表中神秘地消失了。我们甚至不确定这是否相关。
有谁知道我们如何重新安装或以某种方式注册服务?
这是在 Windows 2008 服务器上。已安装所有 .Net 版本。
谢谢
我对此进行了一些研究,但没有找到明确的答案。
我们有一个使用 PHP+Memcache 会话处理程序的 Web 应用程序。
我有几个问题,都是相互关联的,但最终我的问题是,“为什么 PHP 会话在我们认为应该到期时显然没有到期?” 即最终用户应该在设定的时间后退出应用程序,但不是。
下面是点,请帮我把它们连接起来,并告诉我我错在哪里:
用户没有被注销。
我怎么能调试呢?Memcache 并不完全透明。
没有工作的示例案例是会话超时设置为两小时的站点。示例用户会在晚上最后一次使用该站点,然后在 8 到 10 小时后返回该站点并仍处于登录状态。
亲爱的 Serverfault 社区,
我有以下问题:如果在数据包数据中遇到某个字符串,我需要立即重置(断开)网络两侧的 tcp 连接。我无法控制双方的应用程序,只能使用 linux iptables(或类似工具)来执行连接中止。
我的第一个想法是使用以下 iptables 规则来实现我想要的:
/usr/sbin/iptables -A INPUT -p tcp --dport 1234 -m string --algo bm --string 'BAD STRING' -j REJECT --reject-with tcp-reset
Run Code Online (Sandbox Code Playgroud)
通过向客户端发送 TCP RST 数据包,这将在远程端完美地工作,因此客户端将立即断开连接。不幸的是,在强制断开连接时不会通知本地端,并且服务器进程(连接)永远挂起。
我认为在特定条件下(在这种情况下 IP 数据包中的字符串匹配)立即断开双方已经建立的连接的要求并不少见。所以我进行了谷歌搜索,但令我惊讶的是在合理的时间内找不到任何可用的东西。
有没有办法使用iptables在网络两侧实现tcp断开连接?如果没有,我可以使用哪些其他工具(请记住,我无法控制客户端/服务器应用程序)?
非常感谢您的宝贵回答!
此致,
延斯
我想请社区帮助我找到以下问题的答案: