Articles of apache 2.2

使Solr服务器可以在networking上访问

所以我已经在Linux服务器上安装了Solr,我想从另一个Web服务器和/或我的电脑访问它。 从Solar Server,我可以看到它正在运行 [root@solr ~]# wget -qO- http://localhost:8983/solr <html> <head> <link rel="stylesheet" type="text/css" href="solr-admin.css"> <link rel="icon" href="favicon.ico" type="image/ico"></link> <link rel="shortcut icon" href="favicon.ico" type="image/ico"></link> <title>Welcome to Solr</title> </head> <body> <h1>Welcome to Solr!</h1> <a href="."><img border="0" align="right" height="78" width="142" src="admin/solr_small.png" alt="Solr"/></a> <a href="admin/">Solr Admin</a> </body> </html> 然而,将http://192.168.1.19:8983/solr/插入我的浏览器,或从我的Web服务器ping,无法连接。 如何让我的networking上的其他设备可以访问Solr? # netstat -anp | grep :8983 tcp 0 0 […]

nginx + apache2.4 + php-fpm – SERVER 和php_admin_value

我试图让服务器的工作方式nginx-> apache2.4-> php-fpm(通过mod_proxy_fcgid)(为服务静态文件的nginx)(我不知道现在甚至需要Apache)。 它的工作,但我没有几个问题。 当我用apache2.2作为apache模块(在旧服务器上)时,我可以为每个虚拟主机设置php_admin_value,例如php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]" 。 现在,当我使用php-fpm时,apache不理解这些,并且不会启动。 如何在使用php-fpm时为每个虚拟主机设置这些值? 第二个问题是,我如何使_SERVER [“REMOTE_ADDR”]填充真正的远程地址? 用nginx + apache + php作为apache模块,用mod rpaf解决,但是现在_SERVER [“REMOTE_ADDR”]显示127.0.0.1。 最后一个问题。 如果我决定只去nginx + php-fpm什么“基本”的function,我会丢弃阿帕奇丢失? 更新1。 显然mod_rpaf没有做它应该做的事情。 Apache实际上为2.4提供了类似function的官方mod。 如果有人也需要它,这里是你如何得到它: 1. wget https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/metadata/mod_remoteip.c 2. apxs -cia mod_remoteip.c 3.启用mod LoadModule remoteip_module usr / lib / apache2 / modules / mod_remoteip.so 4.configurationmod <IfModule remoteip_module> RemoteIPHeader X-Real-IP […]

Apache2虚拟主机反向代理重写资产链接

我有一个Web应用程序运行在我的服务器端口8080上:myip:8080 / app 我有我的httpd.conf中的以下configuration <VirtualHost *:80> ServerName subdomain.mydomain.com ServerAlias mydomain.com ProxyPass /app http://localhost:8080/app/ ProxyPassReverse /app http://localhost:8080/app/ </VirtualHost> 这工作正常,并使应用程序可在subdomain.mydomain.com/app 现在我努力使它在subdomain.mydomain.com(不带/ app)可用。 我第一次尝试 <VirtualHost *:80> ServerName subdomain.mydomain.com ServerAlias mydomain.com ProxyPass / http://localhost:8080/app/ ProxyPassReverse / http://localhost:8080/app/ </VirtualHost> 并补充说 ProxyHTMLURLMap /app/ / 但都似乎没有工作。 主页面加载,但所有JavaScript和CSS链接仍然指向/应用程序/ …返回主HTML页面,而不是资产。 我错过了什么? 我在正确的轨道上还是有一个完全不同(更好)的方式来实现这一目标? 该应用程序是Ubuntu 12.04上的Tomcat 7中的Tapestry Web应用程序。 任何关于performance的见解都会很有趣。

Apache 2.2和OpenSSL 1.0.1之间SSL密码的不一致

我正在使用Apache 2.2.22-1ubuntu1.4和OpenSSL 1.0.1-4ubuntu5.11运行最新的Ubuntu 12.04 LTS 。 我已经configurationApache使用https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_Ciphersuite中的密码套件列表 它看起来像这样: <VirtualHost *:443> … SSLEngine on SSLCertificateFile /path/to/signed_certificate SSLCertificateChainFile /path/to/intermediate_certificate SSLCertificateKeyFile /path/to/private/key SSLCACertificateFile /path/to/all_ca_certs SSLProtocol all -SSLv2 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK SSLHonorCipherOrder on SSLCompression off </VirtualHost> 该命令显示所有可用的OpenSSL密码。 # openssl ciphers -v 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK' |column -t ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA […]

阻止Apache反向代理某些HTTP方法

我使用apache作为Rails应用程序服务器上的ruby的反向代理。 当使用非标准HTTP方法接收到HTTP请求时,会在应用程序服务器中导致出现一些有关环境的细节的错误。 我可以防止Apache转发请求,除非HTTP方法匹配的安全,标准的方法之一? [编辑] 以Shane的回答为指导,我提出了以下内容,以供参考。 RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|OPTIONS) RewriteRule .* – [R=405,L] 我发现否定检查更容易,允许apache返回正确的响应代码(405是方法不允许),并且意味着所有的代理configuration的东西是不变的(即你可以使用ProxyPass或ProxyPassMatch)

mod_security 960015阻止Google和其他好的机器人

mod_security规则960015不断捕捉谷歌和其他好的机器人。 我在vhost中有以下几个方面来防止被抓到的好机器人: SecRule REQUEST_HEADERS:User-Agent "Mail.ru" log,allow SecRule HTTP_USER_AGENT "Mail.RU_Bot" log,allow Google和Yandex也一样。 它工作99%的时间,但是在其他时间有一些真正的bizare原因失败,这里是Mail.ru bot的日志示例: 全成: 217.69.134.79 – – [07/Mar/2014:10:17:13 +0400] "GET / HTTP/1.1" 200 189934 "-" "Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/Fast/2.0; +http://go.mail.ru/help/robots)" [Fri Mar 07 10:17:13 2014] [error] [client 217.69.134.79] ModSecurity: Access allowed (phase 2). Pattern match "Mail" at REQUEST_HEADERS:User-Agent. [file "/etc/apache2/sites-enabled/xxx"] [line "28"] [hostname "xxx"] […]

将节点js应用程序映射到Apache中的urlpath

我想提供节点应用程序作为我的域的path,如下所示: http : //example.com/foo实际上将服务端口8080上运行的节点应用程序。 我查看了ProxyPass和ProxyPassReverse: ProxyPass /foo http://localhost:8080 ProxypassReverse /foo http://localhost:8080 这将服务节点应用程序的index.html,但我在我的控制台中有关所有资产的错误: Failed to load resource: the server responded with a status of 404 (Resource not found) http://example.com/styles/4742a4e8.main.css 我认为ProxyPassReverse指令会照顾到这一点,但显然不是。 我对Apache的知识非常有限。 任何关于如何解决这个问题的好主意? 免责声明:是的,我已经看过很多nodejs结合Apache的问题,但没有一个解决在URL中使用子目录的问题

Apache不会更改由gulpjs更新的文件

我有一个使用Apache HTTPD 2.2作为Web服务器的CentOS 6.5虚拟机,我正在使用GulpJS进行构build。 当我更新CSS文件时,GulpJS构build过程运行正常,如果我查看VM上的文件,则可以看到更新,但是通过Apache HTTPD提供时,文件没有更改。 如果我使用vi编辑文件,不作任何改变,只需保存一遍Apache HTTPD然后select更改并输出正确的文件。 我已经禁用了mod_cache模块(例如注释掉了LoadModule指令),因为我认为这可能是原因,但这没有什么区别。 有没有其他人遇到这个问题,并知道如何解决它? [更新] – 刚刚查看的httpd访问日志,我可以看到,每次更新之前和之后的文件是由httpd服务,但没有任何更改: 192.168.56.1 – – [22/Jun/2014:09:27:42 +0100] "GET /includes/min/stylesheet.min.css HTTP/1.1" 200 135882 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" 192.168.56.1 – – [22/Jun/2014:09:29:22 +0100] "GET /includes/min/stylesheet.min.css HTTP/1.1" 200 135878 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) […]

fail2ban阻止对wp-login.php的WordPresspowershell攻击

有没有一种方法来设置禁止阻止太多次打wp-login的IP? 我曾尝试添加这个jail.local: [apache-wp-login] enabled = true action = iptables[name=wplogin, port=http, protocol=tcp] sendmail-whois[name=wplogin, dest=root, [email protected]] filter = apache-wp-login logpath = /var/log/apache2/other_vhosts_access.log maxretry = 5 然后在/etc/fail2ban/filter.d/apache-wp-login.conf中添加一个定义: [Definition] # Option: failregex # Notes.: Regexp to catch Apache dictionary attacks on WordPress wp-login # Values: TEXT # failregex = [\w\.\-]+ [\w\.\-]+ .*] "POST /wp-login.php 仍然越来越wplogin尝试超过maxentry限制…可能是因为我使用组合的日志格式,而不是共同的?

在Apache的访问日志奇怪的条目

我在apache access_log中遇到了一个奇怪的问题 117.86.199.18 – – [27/Jul/2014:10:42:10 +0200] "GET http://hotel.qunar.com/render/hoteldiv.jsp?&__jscallback=XQScript_4 HTTP/1.1" 302 256 它看起来有人/某事正在尝试使用我的服务器作为代理。 问题:这是危险的吗? 有一种方法禁止使用我的Web服务器作为代理?