服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
我正在使用带有Apache HTTP反向代理的IIS网站( ProxyRequests Off mod_proxy)。 我想在apache中控制expires头文件(不要问),但是IIS设置头文件Expires: -1 。 这会导致mod_expires忽略该请求,因为它已经有了一个值。 我试过在https://stackoverflow.com/questions/7930140/overwrite-cache-headers-with-mod-expires的解决scheme,但它不起作用(早期的技巧不起作用)。 如何禁用IIS以指定Expires: -1 ? 要么 我如何强制mod_expires重写它(因为我使用Apache作为反向代理,我应该能够做到这一点!)
我有最奇怪的问题:有时,只有非常具体的请求,Web服务器发送FIN数据报之后将RST发送到客户端。 首先,对设置的描述: 服务器:VM guest Ubuntu 12.04.1 LTS在Win7 x64主机上,桥接模式下ufw在主机上被禁用 客户端:Win7 x64主机上的Mountain Lion(hackintosh)VM guest虚拟机上的iOS模拟器,桥接模式。 两者都在同一个LAN上。 一个通过以太网连接到路由器,另一个通过WiFi连接。 服务器上的HTTP日志表明,有时候,客户端会发出multipe后续相同的请求。 客户端在收到来自服务器的RST数据包后,只需重新尝试。 我附加了几个tcpdumps: Good1是良好会话的服务器端tcpdump(“好”,意思是没有生成RST)。 Good3是一个很好的会话的另一个服务端tcpdump。 Good1和Good3之间的区别在于从服务器发送ACK的顺序,确认客户端的请求。 该请求在2个分段中得到。 一个用于HTTP标头,另一个用于包含空JSON对象的主体: "{}" 。 在Good1中,服务器在第二个请求到达之后确认两个请求。 在Good3中,服务器在请求到达时立即确认每个请求。 不是说应该有所作为。 Bad1是一个不良会话的转储,客户端和服务器端。 Bad2是另一个糟糕的会话,这次只是服务器端。 请注意,在所有“不良”会话中,服务器收到后立即确认每个请求。 在其他一些不好的会议上,情况是一样的,不包括在内。 奇怪的是,同样的行为在“Good3”中展现出来,使得这个观察有些没有意义。 我不明白这有什么关系。 底线是我无法确定好的和坏的会话之间的显着差异。 我的问题是: 为什么生成这些RST? 或者至less:我怎样才能进一步debugging,或在这里提供更多有用的信息? 编辑我学到的两个新事实: RFC(1122)(和维基百科,在“TCP”,在“连接终止”一节中)第4.2.2.13节指出,一个主机上的TCP应用程序可能会在连接读取其所有的数据之前closures连接缓冲区,在这种情况下,主机上的TCP会向对方发送一个RST,告诉它并不是所有已经发送的数据都被读取了。 我不确定我是否完全理解这一点,因为closures我的连接方面仍然允许我阅读,不是吗? 这也意味着我不能再写了。 但我不确定这是否相关,因为我在 FIN 后看到RST。 wsgiref(Python的开发模式HTTP服务器)发生了这种情况,这正是我所使用的。 我会继续更新,因为我发现更多。 谢谢! Good1 – 服务器端 13:28:2.308319 IP 192.168.1.51.51479> 192.168.1.132.5000:Flags [S],seq […]
我们希望在NetApp文件服务器上更改文件,并在每次更改这些文件时,Debian机器会将这些文件复制到另外两个共享文件夹中。 由于我们使用的是lsync的重复方法,我们需要挂载Samba共享(NetApp存储),并使用Samba重新共享,我们正在从Debian机器的共享而不是NetApp进行所有更改。 问题是,有时在某些树级别,我们将文件夹视为文件而不是文件夹。 例如,树看起来像这样: / –fol1 +–fol5 +–fol6 –fol2 +–fol3 +–fol4 所有fol4 / fol6级别的文件夹,无论他们的父母是什么,看起来都是一个文件。 注意:从Debian系统看起来都不错,只有在Debian机器上看到Samba共享的Windows机器上才会出现问题。 一些想法如何解决这个问题? smb.conf文件: guest account = nobody map to guest = bad user disable netbios = yes socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=242144 strict sync = no acl check permissions = no oplocks = False level2oplocks = False sync always […]
当我尝试在Windows Server Standard 2008 R2上安装MSSQL 2008时出现以下错误:
自升级到Backup Exec 2012以来,我们一直在大幅增加备份时间。 数据吞吐量大约是以前的情况,问题似乎是每个服务器备份之间的随机延迟。 当延迟发生时,我们将在ESX主机上看到快照创build事件,然后在没有任何事情发生的情况下有一个不确定的时间,然后我们在主机上看到“Symantec Backup”事件,IO在介质服务器和SAN。 延迟可能随时随地发生在任何服务器上,并且可能有多个服务器在任何给定的备份期间出现延迟。 延迟似乎独立于VM服务器,其configuration或负载,主机负载或介质服务器活动(这是当时唯一活动的备份作业)。 是的,我已经提出了赛门铁克技术支持的这个问题。 让我们只是说,他们迄今为止没有帮助(我会抵制诱惑的诱惑)。 我只是想知道,如果有人看到,希望能解决这个问题。 编辑: 我最近从赛门铁克的支持上得到了一些活动。 目前还没有解决scheme,但他们现在保持对话 系统概述 媒体服务器: HP ProLiant DL360 G5(E5420,6GB RAM) 磁带机 – Ultrium 1840 SAS 用于iSCSI的2 x 1Gb NICS SAN 2 x 1Gb NICS联手networking Windows 2008 R2 带有VMWare代理的Backup Exec 2012以及用于GRT的VM服务器上的RAWS。 VMWare的: VMWare vSphere 4.0 存储: Equalogic PS6000 通过多path1Gb连接到ESX主机和备份服务器 备份是通过selectvCenter中的服务器创build的,因此它是依次备份多个服务器的一个作业。 下面是延迟的可视化:绿色区域是数据实际从SAN到媒体服务器的位置(并且相当一致),红色区域是没有活动的延迟。 注意:1/12的Utility1备份时间短是因为它被取消了。 另外,在这之后还有更多的服务器,但是为了清楚而省略。
我用upload_moduleconfiguration了Nginx。 我可以上传和恢复文件,但任何人都可以张贴到/上传位置。 有没有办法使内部位置/上传和使用X-Accel-Redirect,以便只有经过身份validation的用户可以发布文件? 或者有关如何保护服务器的任何想法,以便只有某些用户可以发布文件,在应用程序端有authentication逻辑?
**编辑:**我不再使用Sabayon Linux,并且在其他发行版本上没有发生此问题。 我build议closures这个问题。 更新:我意识到由于主机文件不好,两台机器都将其本地名称parsing为127.0.0.1,而不是其局域网IP地址。 一旦我改变它并尝试挂载,客户端显示: mount.nfs4: timeout set for Sun Mar 31 10:33:38 2013 mount.nfs4: trying text-based options 'sec=krb5,addr=192.168.10.200,clientaddr=192.168.10.103' mount.nfs4: mount(2): Permission denied mount.nfs4: access denied by server while mounting shakuras.darwinia.lan:/ 查看客户端的系统日志: rpc.gssd[13067]: dir_notify_handler: sig 37 si 0x7fffcfa36cb0 data 0x7fffcfa36b80 rpc.idmapd[13036]: New client: 1a rpc.gssd[13067]: dir_notify_handler: sig 37 si 0x7fffcfa321f0 data 0x7fffcfa320c0 rpc.gssd[13067]: handling gssd […]
如何在Ubuntu中构buildnginx 1.4.0和ngx_pagespeed 创build一个目录下载必要的软件包(可选): mkdir pagespeed && cd pagespeed 确保你有最新版本的nginx,我推荐使用nginx回购。 添加nginx回购: wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key 添加这行到/etc/apt/sources.list文件中: deb http://nginx.org/packages/debian/ codename nginx (for 12.04 codename is squeeze) deb-src http://nginx.org/packages/debian/ codename nginx 下载nginx源码并构build包: sudo apt-get update sudo apt-get install dpkg-dev sudo apt-get source nginx build立nginx代码: sudo apt-get build-dep nginx 确保你有这个ngx_pagespeed的要求: sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev […]
我有一个WSDL背后的ISA服务器。 WSDL包含一个模式<xsd:include schemaLocation="myschema.xsd"/> 但是,通过ISA访问时,某些隐式映射会将服务器名称更改为应用程序“TEST”的名称,如下面的xsd:include行所示 <xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/> 可以使用URL – https://services.mycompany.com/myservice?wsdl访问WSDL 模式可以使用URL访问 – https://services.mycompany.com/myservice?xsd=myschema.xsd 问题是WSDL中模式的翻译的URL不正确。 它需要 <xsd:include schemaLocation="https://services.mycompany.com/myservice?xsd=myschema.xsd"/> 代替 <xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/> ISA人是否需要为此设置一些ISA规则(用于replaceWSDL中的URL)? 他需要创造/改变什么规则?
好的,我在我的服务器上运行libvirt,我只有一个接口。 为了在我的虚拟机中使用公共IP,我需要build立一个网桥,一切正常。但我不想在网桥接口上设置IP地址。 当我离开没有IP的网桥并在eth0上设置IP时,它将无法工作。 有人能解释我为什么吗?