我运行一个生产服务器与CentOS版本6.3(最终)和Plesk面板11.0.9运行基于PHP的网站,在一个正常的LAMP堆栈。 Apache/2.2.15 PHP 5.4.35 (cli) (built: Nov 17 2014 12:06:55) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with the ionCube PHP Loader v4.4.1, Copyright (c) 2002-2013, by ionCube Ltd., and with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies with Suhosin v0.9.36, Copyright (c) 2007-2014, by […]
我有一个相当复杂的设置。 至less对我来说,因为我是apache,mod_rewrite和所有这些东西的新手。 我想要的是这样的: 删除所有www前缀 将所有子域redirect到https,所以排除域本身(foo.bar.com,而不是bar.com) 将所有对子域的请求代理到域的端口8089 所以,我写了一个主要工作的代码,除了www.foo.bar.com。 我正在做一个新的。 事情是,我不知道什么顺序的事情会正常工作。 我应该先摆脱www? 或者我应该在顶部设置代理? 这是我的新文件到目前为止。 我希望有人能帮我把事情搞清楚。 # welcome page <VirtualHost *:80> ServerName bar.com DocumentRoot /var/www/bar </VirtualHost> # ssl and proxy for subdomains <VirtualHost *:443> ServerName foo.bar.com ServerAlias *.bar.com SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key ProxyRequests Off ProxyPass / http://bar.com:8089/ ProxyPassReverse / http://bar.com:8089/ ProxyVia On </VirtualHost> <VirtualHost *:80 *:443> […]
与其他许多人一样 ,我也遇到了Google Chrome在我的网站上抱怨过时的安全设置的问题。 我有一个RapidSSL证书,所以我重新颁发了证书,现在使用这个工具和SSL实验室检查。 Chrome正在加载重新颁发的authentication,但仍然抱怨过时的安全性。 我注意到,在Chrome的证书查看器中,仍然有一个对SHA-1指纹的引用。 这是问题吗? 如果是的话,我该如何解决? 如果没有,关于发生什么事情的任何想法? :
我有一个服务器(Ubuntu 14.04),我主持几个网站。 我在/ etc / sites-available中添加了以下Apache2configuration文件; 并启用了这些站点(符号链接到/ etc / site-enabled): www.domain1.com.conf <VirtualHost *:80> ServerName www.domain1.com ServerAlias domain1.com DocumentRoot /var/www/domain1.com/www/ </VirtualHost> www.domain2.com.conf <VirtualHost *:80> ServerName www.domain2.com ServerAlias domain2.com DocumentRoot /var/www/domain2.com/www/ </VirtualHost> 等等 但是,当我将浏览器直接指向服务器的IP时,Apache2似乎与包含的第一个虚拟主机文件(即www.domain1.com.conf)相匹配。 有没有什么办法可以禁用这个,或者000-default.conf文件(它会先加载)看起来像强制ApacheclosuresHTTP连接而不返回任何数据?
我希望用户在调用特定的HTTP方法时进行身份validation,而在调用其他HTTP方法时不需要进行身份validation。 我使用Limit指令,因为这应该做我想要的,但是我不能得到它的工作。 SSLVerifyClient none <Location /foo> SSLVerifyClient none <Limit PUT> SSLVerifyClient require </Limit> </Location> 似乎最后的SSLVerifyClient语句总是被执行,无论我做了哪个调用(PUT,DELETE) 我也尝试使用LimitExcept但它有相同的错误行为。 由于我无法在网上find答案,我认为这是一个不容易的,但我上周开始工作,以填补假期的同事。 有人能帮我吗?
我有一台服务器提供多个SSL虚拟主机和非SSL虚拟主机。 如果使用“https”访问其中一个非SSL虚拟主机,则使用第一个SSL指令。 是否有一些设置,以便只有显式匹配服务器名称的虚拟主机才能使用? 所以,假设我有www.a.com , www.b.com和www.c.com 。 比方说,我也有https://www.a.com和https://www.b.com 。 如果我去https://www.c.com ,就和使用网站https://www.a.com 。 这是不受欢迎的行为。 有什么我可以设置,以便没有网站将被使用?
得到这个错误看起来像服务器正在重build连接,因为一些数据包丢失 任何可能的build议来弄清楚这一点 37713 591.925575000 Sourceip==>>destinationIP TCP 66 50865→https [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1 37719 592.196621000 destinationIP==>>Sourceip TCP 66 https→50865 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=32 37720 592.196714000 Sourceip==>>destinationIP TCP 54 50865→https [ACK] Seq=1 Ack=1 Win=65700 Len=0 37721 592.197041000 Sourceip==>>destinationIP TCP 296 50865→https [PSH, ACK] Seq=1 Ack=1 Win=65700 Len=242 37731 592.467777000 […]
我有一个网站(运行Apache和PHP),允许用户下载JPEG。 用户点击一次链接下载JPEG,就像下载zip文件一样(不使用右键另存为)。 处理下载的PHP脚本添加这些头文件: header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=download.jpg'); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file_final)); 启用Opera Turbofunction的Opera用户遇到问题。 他们得到的文件已被Opera服务器压缩,而不是获取JPEG文件。 (我认为他们是WebP图像,他们以RIFFÞÃ WEBPVP8 )。 它们在浏览器中显示相同,但是当用户将它们下载到桌面时,它们不能使用它们。 如何configuration我的Web服务器,以防止Opera Turbo压缩JPEG? 有一个HTTP头,我可以发送?
经过长时间的search,我找不到解决scheme或path来解决我的问题,同步启动Apache和后端服务器。 我有一个Apache2使用LoadBalancer与mod_jk,平衡请求4后端服务器使用JBoss和AJP协议。 所以所有的configuration工作得很好,但我有一个与Apache同步和JBoss应用程序启动时间的小问题。 在启动应用程序之前,JBoss已经启动并接受了AJP端口中的连接,所以当JBoss节点已经在Apache LB中使用时,应用程序还没有可用,并且当JBoss启动或者当我需要replace时,我有一段时间的失败请求应用程序的版本。 我知道有可能从LB删除节点,并在节点之后我可以返回相同的LB,所以我的问题是,是否有可能使用URL检查或configurationJBoss只有部署所有应用程序后听AJP端口或其他选项,我不需要直接从LB删除节点,当相同的启动,或在JBoss服务器没有closures,但只有应用程序是closures的情况下? 我看到JK中的参数fail_on_status,在这种情况下是唯一的select吗? 任何经验将非常感激。 谢谢
在狭义的情况下,当我请求一个公共网页时,我得到大约2分钟的100%可重现的延迟。 有问题的网页: https : //id.openjdk.java.net/console/login 将客户端(curl)和服务器(apache)日志拼接在一起,典型的交换如下所示: [client] 15:42:03.694959 => Send header, 96 bytes (0x60) 0000: GET /console/login HTTP/1.1 <DELAY HERE> [server] [24/Feb/2015:22:44:26 +0000] "GET /console/login HTTP/1.1" [client] 15:44:25.984150 <= Recv header, 17 bytes (0x11) 0000: HTTP/1.1 200 OK (由于时区不同,小时数有所不同,由于不同步的时钟,秒数可能稍微偏离)。 重要的事情是: 客户端通过我的家庭ISP连接,并在特定的子网中给予公共IP地址。 给定一个来自不同范围的静态IP地址,问题就会消失。 请求此服务器上的“/ console / login”页面。 如果我请求“控制台/忘记密码”,则不会有任何延迟。 我没有注意到任何其他服务器上类似的延迟。 事情是(显然)不相关的: 家庭networking。 无论客户端如何连接到ISP的调制解调器以及尝试不同的调制解调器,问题依然存在。 时间/拥堵。 延迟是一致的,无论何时发生请求。 DNS。 如果我使用IP地址而不是主机名,行为是一样的。 […]