我最近在切换到Cloudflare后遇到了一个问题,解决scheme是基本上阻止Cloudflarecaching404响应。 在我们的负载均衡的多服务器设置中,偶尔会出现404s,但是它们可以通过rsync(通过lsyncd)快速修复。 在Cloudflare之前,随着rsync的工作,对404ed文件的重新请求将很快变为200。 但是,由于Cloudflarecaching基于caching头的所有数据,并且apache和nginx都没有发送404caching头,所以Cloudflare最终caching了404响应。 我一直在寻找一个解决scheme,在apache和nginx(全球所有托pipe域名)上为404s全局添加这样一个头文件,但到目前为止都是空白的。 谁能帮忙? 谢谢。
我在使用Apache 2.2代理时遇到了麻烦 当我尝试启动它,我得到一个Invalid command 'ProxyPass'错误。 这将指示proxy_http_module未被加载。 但是,当我看着debugging,似乎在那里。 例如, E:\Apache\bin>httpd -e debug [Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module actions_module … [Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module proxy_ajp_module [Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module proxy_http_module <—– [Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module setenvif_module …. [Fri […]
自从过去三天以来,我一直面临一个奇怪的问题。 在这里发表我的问题之前,我做了所有需要做的事情。 我的httpd.conf如下所示: NameVirtualHost *:443 Listen *:443 <VirtualHost server1.example.com:443> ServerName server1 #ServerName server1.example.com SSSLEngine on </VirtualHost> 在server1.example.com上应用SSL,但是在我们进入网站之后,只能在ServerName server1上工作,而不能在ServerName server1.example.com上工作。 我们没有任何configuration和networking文件中的server1。 所以,当我们这样做https://server1.example.com/xyz/ —它与ServerName server1一起使用,但不适用于ServerName server1.example.com。 问题在哪里? 我没有得到它。 / etc / hosts,/ etc / sysconfig / network,无处我们有server1; 即使在DNS也是如此。 请build议。 这是我们在错误日志中得到的: [Thu Nov 24 11:40:14 2016] [警告] RSA服务器证书CommonName(CN) server1.example.com' does NOT match server name!? [Thu Nov 24 11:40:14 […]
我有一个Web应用程序安装(ClockingIT),基于使用的子域名。 因为我们想要使用SSL并且没有通配符证书,所以这对我们来说不是很方便:-)所以我想到了使用Apache的mod_proxy和mod_rewritefunction。 更确切地说,我希望URL Xttps://example.com/cit/(external)显示Xttp://test.example.com:3000 /(内部)的内容。 这是我的设置: <VirtualHost *:443> ServerName example.com (SSL setup, etc) SSLProxyEngine On UseCanonicalName Off ProxyRequests Off ProxyPreserveHost Off # or On, makes no difference RewriteEngine On RewriteRule ^/cit$ Xttp://test.example.com:3000/ [P,NC] RewriteRule ^/cit/(.*)$ Xttp://test.example.com:3000/$1 [P,NC] ProxyPassReverse /cit/ Xttp://test.example.com:3000/ test.example.com未在DNS服务器上定义,但在/ etc / hosts中设置为映射到127.0.0.1。 如果我在服务器上执行“w3m Xttp://test.example.com:3000 /”,我会得到正确的网页。 但是,如果我在桌面浏览器上访问https://example.com/cit/ ,则无法获得正确的网页。 networking应用程序收到请求,但似乎认为请求是为example.com域,并提供默认页面,而不是预期的子域“testing”的内容。 似乎不知何故代理不传递test.example.com域,虽然根据文档它应该。 而不是RewriteRule,我也尝试了ProxyPass指令,但结果相同。 有什么我失踪? (如果相关,ClockingIT是通过Mongrel服务的Ruby on […]
我知道你需要多个IP地址,如果你想与Apache使用多个SSL证书。 假设我的VPS上有两个IP(让我们将它们命名为1.1.1.1和2.2.2.2 ),我想知道是否可以进行以下设置: domain1.com将在1.1.1.1上,并使用签名的SSL证书(来自像威瑞信这样的提供商) domain2.com,domain3.com,..将在2.2.2.2和共享自签名证书… 换句话说,一个域需要自己的签名证书,因为它必须处理金融交易等,所以它将在第一个IP上是“独立的”。其他域只需要一个自签名的证书,因为它只是为了pipe理区域,我不介意警告,所以他们都将在第二个IP 这样的设置可能吗? 如果是这样,虚拟主机configuration将是什么样的例子? 任何帮助,将不胜感激!
可能重复: 停止Apache请求SSL密码每次重新启动 当我创build我的SSL证书时,我在密钥中使用了密码短语。 每当我重新启动我的Web服务器(Apache或Nginx)时,他们都要求input密码: 阿帕奇: 由于安全原因,您的一些私钥文件被encryption。 为了阅读他们,你必须提供密码短语。 服务器www.example:443(RSA) input密码短语: Nginx的: 启动nginx:inputPEM密码短语: 每次input密码很快就会变得烦人,我担心下次重新启动机器时的停机时间。 有没有办法自动提供PEM通行短语,当networking服务器重新启动? 还是必须在密码被删除的情况下使用密钥重新颁发SSL证书? 如果我删除密码,安全意味着什么? 有什么好担心的吗?
我有一个启用了mod_proxy的Apache webserver和一个虚拟主机proxy.domain.com。 此代理configuration为通过AuthType Basic提示用户input凭据。 然后,通过ProxyPass和ProxyReverse通过代理可以访问web.domain.com的内容。 但是,REMOTE_USERvariables是空的。 我用mod_rewrite和mod_headers读了不同的东西来实现这一点,但是我所有的尝试都失败了。 有人比我幸运吗? 谢谢。
我知道在同一个IP上有很多关于多个SSL的post,但我保证我没有打死一匹死马。 我的问题很清楚。 首先,有一点背景… 我们的组织有几个电子商务网站。 所有这些站点都运行在相同的IP上,使用SNI作为基于名称的虚拟主机。 在大多数情况下,这是很好的工作。 但是,在某些浏览器(ie7 / ie8,但仅在某些原因的select机器上),我们得到报告,用户看到域名与SSL证书不匹配。 事实certificate,他们正在按照字母顺序看到第一个SSL主机的SSL证书,因为Apache首先parsingIP地址,然后抓住它认为合适的虚拟主机文件。 我做了一些SSL协议的实验,发现如果我这样设置(ssl.conf): SSLProtocol TLSv1 然后,我只是得到一个没有find任何在IE中的https域。 如果我在ports.conf中设置SSLStrictSNIVHostCheck SSLStrictSNIVHostCheck打开 然后我会得到在有问题的浏览器中被拒绝的权限。 问题很明显,IE不支持或不使用TLSv1协议或SNI,这两者都是需要的。 所以我的问题是… 是否有一个configuration更改,我可以支持IE浏览器,也许根据不同的协议,或者是我唯一的select使用单独的IP为每个虚拟主机需要SSL? 在此先感谢=)
这使我疯狂。 背景:我正在使用Mac OS X 10.6附带的内置Apache2&PHP 我有一个虚拟主机设置如下: NameVirtualHost *:81 <Directory "/Users/neezer/Sites/"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> <VirtualHost *:81> ServerName lobster.dev ServerAlias *.lobster.dev DocumentRoot /Users/neezer/Sites/lobster/www RewriteEngine On RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] LogLevel debug ErrorLog /private/var/log/apache2/lobster_error </VirtualHost> 这在/private/etc/apache2/users/neezer.conf 。 我在lobster project中的代码是使用CodeIgniter框架的 PHP。 试图加载http://lobster.dev:81/给我: […]
我正在build立一个Jenkins服务器,在Apache后面的Tomcat下运行。 我使用的是使用SNI的SSL虚拟主机,因此我可以通过https://jenkins.example.com访问它,并在http://www.example.com上提供其他内容。 我已经启动并运行了,但是当我点击“pipe理Jenkins”时,它告诉我看来您的反向代理设置已经损坏 。 请注意,我正在使用自签名SSL证书,而jenkins.example.com不是默认的虚拟主机。 相关的apacheconfiguration如下所示: <VirtualHost *:80> ServerName jenkins.example.com Redirect / https://jenkins.example.com/ </VirtualHost> <VirtualHost *:443> ServerName jenkins.example.com SSLEngine on SSLCertificateFile /etc/ssl/certs/jenkins.example.com.crt SSLCertificateKeyFile /etc/ssl/private/jenkins.example.com.key <Location /> AuthType Digest AuthName "Jenkins" AuthUserFile "/etc/htpasswords" Require valid-user </Location> ProxyRequests Off ProxyPreserveHost On <Proxy http://localhost:8080*> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ProxyPassReverse / […]