我最近成了一个旧系统的新pipe理员,每个人都用“不要碰它或者可能会打破”的心态来接近。 现在我被告知要“触摸它,不要打破它!” 任务:我应该做的:从服务器上删除一个域名www.domain1.com,并用www.domain2.comreplace它。 背景:www.domain1.com使用SSL证书来托pipeSOAP和受保护的数据检索网站。 服务器已经过时了。 它是一个Apache 2.2.0的Fedora 4服务器,tomcat 5.5.7和openssl 0.9.7f。 我正在尝试:使用SSL证书在服务器上设置www.domain2.com,以便我们的业务关系从www.domain2.com/SOAP访问SOAP。 那么我们也会移动我们的其他网站。 path一:我正在寻找在同一个IP地址(1.1.1.1)上build立两个域。 为了方便起见。 然而,这看起来并不那么容易或安全(见底部的参考)。 我发现我没有足够新的Apache或openssl版本来做到这一点。 path二:我决定看看我需要做什么来更新它们,这导致发现yum和apt-get不再有FC4的镜像。 我在网上发现了可以手动安装的版本。 我不想走这条路,因为我怀疑我可以扭转变化。 我不喜欢把我的希望寄托在一个如果我想念的情况下也能杀死我的银弹。 我有: 我拥有www.domain2.com的SSL证书。 www.domain2.com指向与www.domain1.com(1.1.1.1)相同的IP。 我有三个IP地址分配给我的服务器,我可以使用(1.1.1.2,1.1.1.3和1.1.1.4)。 由于我下的path看起来不太可行,我以为我可以在1.1.1.2上设置www.domain2.com。 随着Apache的新安装,然后也可以链接到Tomcat的访问SOAP。 问题: 我可以使用IP 1.1.1.2及其证书在当前版本的Apache上设置domain2,还是需要安装另一个版本的Apache来并行运行? 如果httpd-ssl.conf文件在同一个Apache中,我将如何configuration? 目前的httpd-ssl.conf(注释掉): Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin SSLSessionCache shmcb:/usr/local/apache-2.2.0/logs/ssl_scache(512000) SSLSessionCacheTimeout 300 SSLMutex file:/usr/local/apache-2.2.0/logs/ssl_mutex ## ## SSL Virtual Host Context ## <VirtualHost […]
我想在CentOS 5 VPS上将我的apache升级到2.4,因为它的性能和减less的内存使用量。 任何经验/技巧分享?
我发现,我们的networking服务器上的网站之一是有部分url被剥夺。 具体而言,当用户点击链接以幻灯片的forms显示图像时,该页面的URL有?show=slide append。 只是这个部分就是被剥离的东西。 除了这个问题,该网站正常工作。 此外,该网站曾经正常工作,我真的不知道在什么时候打破了,因为我很less访问它,唯一出现在我的更改日志是更新WordPress及其插件。 我已经证实,这不是由.htaccess文件中的任何内容造成的,因为我在开发服务器上安装了一个完全相同的站点副本,并按照预期运行。 我也已经将Apache虚拟主机configuration复制到了testing服务器上。 现场和开发服务器之间唯一的显着区别是前者是Centos 5.5,另一个是Debian 6.0。 我被卡住的想法。 如果它不是Apache虚拟主机configuration或.htaccess文件,我还能在哪里查找可能导致此问题的原因? 更新 虽然对于一个纯粹的人来说,确实出现了URL的一部分被吃掉了,原来是mod重写和301redirect。 这是一个误导性的症状。 有问题的网站运行WordPress的插件数量。 主代码的固定链接重写和其中一个插件的固定链接重写不相互影响,并且不能很好地一起玩。 一堆卸载和重新安装,连同永久固定链接一起,终于得到了一切正常工作。 实际上,显然正在消失的那部分URL是错误的,导致网站上的一个破坏的function。
使用Apache(2.2及更高版本),我如何实现以下function。 当使用GZip编码( 不是简单的Deflate)输出某个文件时,我想要使用它的名字加上扩展名.gz ,其中的.gz版本在磁盘上并不存在。 假设我有一个名为/path/foo.bar的文件,并且在URI /path映射到的文件夹中没有文件foo.bar.gz ,我怎样才能让Apache服务于/path/foo.bar的内容,但是使用AddEncoding x-gzip …应用于(不存在的)文件? 重写部分似乎很容易,但问题是如何将编码应用到不存在的项目。 另一种方式似乎也很简单,只要客户端支持编码。 唯一的解决scheme真的是一个脚本,在飞行中做到这一点? 我知道mod_deflate和mod_gzip ,这不是我正在寻找 – 至less不是一个人。 特别是我需要一个实际的GZIP文件,而不仅仅是一个放气的stream。 现在我正在考虑使用mod_ext_filter,但是无法弥合将(不存在的) file.gz的名称重写到一边的file和另一边的LocationMatch之间的差距。 这是我的。 RewriteRule ^(.*?\.ext)\.gz$ $1 [L] ExtFilterDefine gzip mode=output cmd="/bin/gzip" <LocationMatch "/my-files/special-path/.*?\.ext\.gz"> AddType application/octet-stream .ext.gz SetOutputFilter gzip Header set Content-Encoding gzip </LocationMatch> 请注意,在这种情况下,客户端确实不需要Content-Encoding的头文件。 他们希望看到实际的GZIP文件,但是我想在没有caching的情况下执行此操作(这是一个testing场景)。
我试图找出文件根目录下文件的最佳文件权限/用户/组? 我有以下文件结构/home/user/public_html持有我所有的PHP文件和目录。 里面,我有一个目录/home/user/public_html/files/人们上传图像到哪里。 什么是最安全的方式来分发文件权限/组/用户,以便Apache可以正确显示的PHP文件和目录? 我应该使apache拥有public_html ? 我应该为public_html使用哪个组?
我的生产服务器上有一个非常简单的乘客安装程序。 似乎每天晚上的旅客进程因不活动而退出。 当我早上打车时,乘客再次启动,会给我一个相当直接的错误,即“sinatra”rubygem无法装载。 当我刷新页面时,问题就消失了,乘客在剩下的时间里工作得很好。 Sinatra是一个随时可用的gem,我需要“rubygems”之后加载它。 任何想法为什么乘客将不能启动一次尝试?
我试图运行一个很长的PHP过程,并以500内部服务器错误结束。 它执行罚款约8分钟。 更改php设置后,我重新启动了机器。 PHPconfiguration: max_execution_time:3600 大约10分钟后ps ax | grep php: 19007? S 0:08 / usr / bin / php /home/gypsy/public_html/index.php 我已经将ignore_user_abort设置为true。 该过程卡在00:08(第8分钟),不会进一步执行。 Apache错误日志显示错误: 在返回标题之前脚本超时:index.php 似乎不知何故max_execution_time不起作用。 任何build议将是一个很大的帮助。 更新: 我已经能够检测到这个问题。 防火墙阻止了这个过程。 服务器使用iptables和configserver作为防火墙。 禁用防火墙工作正常。 但是我不确定要更改哪些设置以允许防火墙中的长时间运行的进程
有没有办法find当前login到Linux上运行的Django站点的用户数量? 我需要重新启动服务器,我想确保有足够的人,这不会太麻烦。
我有一个使用Apache在Ubuntu 11.04上运行的Subversion服务器,我试图用LDAPS来挂接authentication。 我得到的Apacheconfiguration文件设置为LDAP(无s)就好,但安全的版本给我…问题。 显然这是一个证书问题。 不幸的是我是一个证书n00b。 我发现这个问题 ,这似乎是我得到的同样的问题。 我尝试将LDAPVerifyServerCert off放在我的httpd.conf中,并且工作正常 – 但是我不认为如果它出现问题,我只想忽略证书,是吗? 我认为我们的LDAP服务器有一个自签名的证书…也许你可以从确认或否认这一点开始。 这是我运行openssl s_client -connect myldap.xyz.edu:636 -showcerts时得到的openssl s_client -connect myldap.xyz.edu:636 -showcerts : CONNECTED(00000003) depth=0 /CN=myldap.xyz.edu verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 /CN=myldap.xyz.edu verify error:num=27:certificate not trusted verify return:1 depth=0 /CN=myldap.xyz.edu verify error:num=21:unable to verify the first certificate verify return:1 — Certificate […]
我正在设置一个Apacheconfiguration来检查文件的存在。 如果文件存在,则服务器将redirect到维护页面。 否则,应用程序将正常提供服务。 我担心,有大量的请求,文件检查必须发生在每个单独的请求,并可能最终导致大量的不必要的IO。 检查文件是否存在IO开销? 如果是这样, 是否有任何替代检查文件的存在? 我需要能够修改Apache以外的东西,不需要重新启动或优雅。 例如,是否有一个模块允许查询一个memcached实例是否存在密钥? 还是有任何其他types的内存caching可以使用?