Articles of apache 2.4

Php负载平衡的问题

我有一个自定义的书面电子商务应用程序运行在它自己的专用服务器上。 它所有的常量(如数据库连接,文件path等)都在一个_constants.php文件中定义。 整个代码由svn跟踪。 (期望为常量文件) 现在我们在成长。 我正在转移到一个3服务器负载平衡的Apache系统,一个专用的MySQL服务器和一个专用的“共享”服务器。 共享服务器是从每个负载平衡服务器符号链接的。 lb1是master,它被设置为每隔1分钟将public_html目录同步到其他服务器。 现在我正面临将应用程序移动到新服务器设置的任务。 问题: 文件path常量。 每个负载平衡服务器都有一个不同的文件path,它是public_html文件夹。 我在这里做什么? 我只是结帐到lb1的代码,并把常量文件夹public_html之外? 我是否重写了常量文件夹,以便能够找出它的path? 我将所有“共享”文件移动到共享服务器,如图像,JavaScript,CSS等。然后,我将改变path引用他们在常量文件。 但是,包括这些共享文件在内的整套代码都包含在一个svn仓库中。 我想我只是检查共享服务器上的整个代码库,即使只有被访问的文件是图像,js和css。 同样的事情在lb1上。 检查整个代码库,甚至认为它不会从该位置加载graphics,CSS,GFX。 使其更容易。 我知道我在浪费硬盘空间,但这样我就不需要维护单独的svn回购。 我做错了吗? 还有其他更好的方法吗? 我有一个运行solr的tomcat服务器。 我的主机告诉我,他们已经运行在lb1上,并且每隔1分钟设置一次rsync整个tomcat文件夹。 这应该是好的吗? 我有一个工作人员的pipe理界面。 他们login改变产品,处理各种事物。 我应该为他们设置一个子域,总是指向lb1来完成他们的工作吗? 我打算让所有的日志文件指向共享。 这听起来不错吗? 克伦工作。 我有一个主要的cron工作。 它运行符合数据库和日志文件的代码。 我想我只会在共享服务器上运行这个,这也是我在共享服务器上拥有完整代码库的另一个很好的理由。 这听起来怎么样? 还有什么是我应该知道的其他“最佳实践”。 如果有更好的地方提出这个问题,请让我知道。 提前致谢。

FreeIPA如何validation会话失败display browserconfig.html?

在FreeIPA中,当浏览到Web UI时,失败的authentication会话应该redirect到http://<servername>/browserconfig.html 。 我的不是。 也许我过于复杂的事情,但默认的FreeIPA Apache ipa.conf似乎禁用该目录的非kerberos会话。 以下是ipa.conf的摘录 # Protect /ipa and everything below it in webspace with Apache Kerberos auth <Location "/ipa"> AuthType Kerberos AuthName "Kerberos Login" KrbMethodNegotiate on KrbMethodK5Passwd off KrbServiceName HTTP KrbAuthRealms <servername> Krb5KeyTab /etc/httpd/conf/ipa.keytab KrbSaveCredentials on KrbConstrainedDelegation on Require valid-user ErrorDocument 401 /ipa/errors/unauthorized.html </Location> 不幸的是,这在我的服务器上不起作用。 当我身份validation失败时,我得到一个404 Not Found消息。 我不知道为什么。

mod – 重写/ .htaccess问题与Apache 2.4.12

文件结构如下 公共文件: /home/usrname/public_html CGI BIN,运行软件: /home/usrname/public_html/cgi-bin 私有文件: /home/usrname/public_html/_private 数据库: /home/usrname/public_html/_private/data 我想要做的是将下面的代码从Apache 1.3.42转换为Apache 2.4.12 .htaccess文件,在SSLpath中看起来好像有一些变化,我主要是挂断了。 当您尝试使用SSLpath的任何文档时,我都会看到_privatepath,而不是HTML源代码中的public_htmlpath,如CSS,js图像等 我也有一个权限问题,这是要求我在SSL模式下login,这一定是由于其他.htaccess文件之一。 它应该是简单的,但不知何故我没有得到正确的联机规则。 这里是每个.htaccess文件中的代码行。 公共文件:/ home / usrname / public_html RewriteEngine On RewriteCond %{HTTP_HOST} ^99\.00\.99\.000$ RewriteRule ^/?(.*)$ http://www.example.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^example.com$ RewriteRule ^/?(.*)$ http://www.example.com/$1 [R=301,L] RewriteCond /home/usrname/public_html/%{REQUEST_FILENAME} -f RewriteRule ^(.+) /home/usrname/public_html/$1 [L] RewriteCond /home/usrname/public_html/_private/%{REQUEST_FILENAME} -f RewriteRule ^(.+) /home/usrname/public_html/_private/$1 [L] RewriteRule […]

通过HTTP发送文件

我在服务器的本地文件系统上设置了一个包含文件(我们称之为hello_world.txt)的服务器,例如/home/yak/hello_world.txt 。 我想通过HTTP请求来检索该文件。 不只是打印文件的内容,而是发送实际的文件。 在一本关于Apache模块开发的书中,我已经find了一个非常基本的模块的教程来做到这一点 – 这是代码的结果: /* * A module that delivers a file */ #include <httpd.h> #include <http_protocol.h> #include <http_config.h> #include <http_log.h> #include <apr_time.h> /* The handler that will actually process the request */ static int file_delivery_handler(request_rec *r) { apr_file_t *file; apr_size_t size; apr_status_t rv; /* * Checks to ensure that this request […]

WordPress使用mod_remoteip显示代理IP地址

我之前已经设置了它,它在其他服务器上工作,但我不能为我的生活弄清楚为什么它不起作用,虽然我有一个可能的理论。 所有这些都在Amazon Web Services中。 因此,在这种情况下,我们正在使用IIS 8的Windows服务器上托pipe主站点。该博客位于运行Ubuntu / Apache 2.4.6的另一台服务器上以托pipeWordPress。 主站点位于VPC中,用于支持多个IP地址。 该博客是VPC之外的。 其他设置(工作)都使用nginx作为反向代理服务器而不是IIS,并且代理和服务器在同一个VPC中。 这真的很重要吗? 从工作configuration: LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so RemoteIPHeader X-Forwarded-For RemoteIPInternalProxy 172.31.xx/32 非工作configuration: LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so RemoteIPHeader X-Forwarded-For RemoteIPInternalProxy 54.2xxx 我也尝试过这样的变化: RemoteIPTrustedProxy 54.2xxx # tried /32 and /24 RemoteIPInternalProxy 54.xxx/32 # also tried /24 RemoteIPTrustedProxy www… 使用一个testingPHP页面来查看它是否工作,我从print_r($_SERVER);看到这个print_r($_SERVER); : [HTTP_X_FORWARDED_BY] => www….. [HTTP_X_FORWARDED_FOR] => xxxx:x [SERVER_ADDR] => […]

错误使用PROXY访问URL时,无法检索请求的URL

我收到这个错误消息: ERROR The requested URL could not be retrieved The following error was encountered while trying to retrieve the URL: http://xxx Read Timeout The system returned: [No Error] A Timeout occurred while waiting to read data from the network. The network or server may be down or congested. Please retry your request. Your cache administrator […]

Apache标题顺序

我正在一个私人服务器应用程序的基于Web的手机游戏,使用PHP来生成响应。 为了做到这一点,我试图尽可能地复制主服务器的行为。 主服务器包括标准的Apache响应标头Date和Server ,但是这些标头总是在标头authorize , Content-Encoding和Content-Type 。 我在Centos 6上运行apache 2.4.12,无论我尝试什么,服务器总是先发送Date和Server头。 因此,例如,当前标题顺序: HTTP/1.1 200 OK Date: Mon, 18 May 2015 15:48:33 GMT Server: Apache authorize: <authToken> Content-Encoding: gzip 需要发送为: HTTP/1.1 200 OK authorize: <authToken> Content-Encoding: gzip Content-Type: application/json; charset=utf-8 Date: Sat, 16 May 2015 02:59:12 GMT Server: Apache 我意识到,服务器领域的顺序应该不重要,但是为了不呈现任何可以用来识别服务器的不同于原来的东西,我想保留原始服务器的行为。 我的第一印象是,这可能是modsecurity可以改变的东西,但是我已经在这种方法上陷入了一个死胡同,因为响应头文件看起来不可改变(如响应正文),而不是重写服务器标签如同生成一样好)。 Mod_headers似乎也无法触及Server标题。 它也似乎没有提供任何可能会改变设置的标题的顺序。 有谁知道任何方式,将允许标头添加在这两个头在http响应? 我怀疑需要一些第三方工具。

将密钥/证书移至其他计算机后,SSLconfiguration在Apache中失败

我正在将我的网站移动到另一台服务器上,在移动SSL密钥并certificate并重新创build相同的Apacheconfiguration之后,在Apache服务器重新启动(域匿名化)时,在错误日志中遇到以下情况: [Sun May 24 22:21:05.579373 2015] [ssl:emerg] [pid 9777] AH02561: Failed to configure certificate 127.0.0.1:443:0, check /etc/ssl/certs/example.com.crt [Sun May 24 22:21:05.579407 2015] [ssl:emerg] [pid 9777] SSL Library Error: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib AH00016: Configuration Failed 它也阻止了对80和443的访问。 我已经validation了这些文件位于正确的位置,并且所有内容(至lessSSL)都被configuration为与旧服务器上的相同。 我在这里错过了什么? 这是来自sites-available / default-ssl.conf(域名匿名)的片段: SSLCertificateFile /etc/ssl/certs/example.com.crt SSLCertificateKeyFile /etc/ssl/private/example.com.key SSLCertificateChainFile /etc/ssl/certs/bundle.crt 新的服务器规格:Debian 8(旧的有Debian 7),股票Apache 2.4.10。 更多的潜在线索: # openssl x509 -noout […]

redirect不在SSL上的子域

我有一个安装在服务器上的SSL证书只能覆盖域,而不是子域 所有stream量都使用apacheconfiguration文件redirect 当我设置子域来redirect子域时,浏览器会提醒您,由于SSL与域不匹配,网站不安全。 我想赶上的子域,它被强制为HTTPS,并将其redirect到我需要去的地方,因为一旦它强制为HTTPS,就会抛出一个错误 我的Apacheconfiguration <VirtualHost *:80> ServerName aliahealthcare.com Redirect permanent / https://aliahealthcare.com/ </VirtualHost> <VirtualHost *:443> //blah </VirtualHost>

XAMPP Mac OSX上的OpenSSL

首先,在terminal上使用以下命令获取localhost.csr,localhost.key和localhost.crt: 请求: openssl req -new -newkey rsa:2048 -nodes -keyout localhost.key -out localhost.csr 证书: openssl x509 -req -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt 我在这里跟着这个问题,并在httpd-ssl.conf上更新这些directives : SSLCertificateKeyFile "/Applications/XAMPP/xamppfiles/apache2/ssl-certs/localhost.key" SSLCertificateFile "/Applications/XAMPP/xamppfiles/apache2/ssl-certs/localhost.crt" 在MyApache中,启用了SSL。 当我重新启动本地主机,并转到http://localhost ,绿色标志出现,但我得到: Access Forbidden Error 403 You don't have permission to access the requested directory. There is either no index document or the directory […]