Articles of apache 2.4

如果Apache终止ssl连接,apache mod_cache是​​否可以caching仅限https的资源的响应?

如果一个Apache服务器充当反向代理,终止ssl连接,是否能够caching响应? 我知道用sslencryption的响应本身不能被caching,但是如果apache终止了ssl连接,它应该可以访问未encryption的响应。 澄清一下,该站点当前的apacheconfiguration如下: <VirtualHost *:80> ServerName api.beta.robocubs4205.com Redirect permanent / https://api.beta.robocubs4205.com </VirtualHost> <VirtualHost *:443> ServerName api.beta.robocubs4205.com SSLEngine On SSLCertificateFile /etc/letsencrypt/live/beta.robocubs4205.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/beta.robocubs4205.com/privkey.p$ ProxyRequests Off ProxyPass "/" "http://127.0.0.1:8080/" ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost> 注意ProxyPass指令代理http而不是https。 我可以在这种情况下添加caching吗? 如果是这样,我可以使用与正常httpcaching相同的configuration吗?还是有什么特别的我需要做的? 另外,请随时指出我发布的configuration中是否有任何大的安全漏洞。 编辑:如果通过https与SSLProxyEngine代理到另一台服务器的答案是相同的?

Apache 2.4.7 mod_proxy_wstunnel隧道太多(HTTP以及WS)

我在Ubuntu 14.04 LTS上运行Apache 2.4.7作为反向代理。 这个Apache服务器充当许多不同后端应用程序的入口点,这些应用程序可以通过<Location>块中的不同mod_proxyconfiguration来访问 我需要提供对使用WebSockets的应用程序的反向代理访问。 该应用程序是一个Java Spring应用程序,通过HTTP提供HTML和其他静态文件,然后在加载页面后使用WebSocket作为dynamic数据。 我已经使用以下configuration在Nginx后面运行应用程序: location /newapp/ { proxy_pass http://newapp.example.com:8080/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } 不幸的是,由于需要一个在Nginx上不可用的Apacheauthentication模块,我不能在生产中使用它。 我想要做的,在伪Apache的configuration是: <Location /newapp/> if not WebSockets: ProxyPass http://newapp.example.com:8080/ ProxyPassReverse / else ProxyPass ws://newapp.example.com:8080/ ProxyPassReverse / </Location> Apache的mod_proxy_wstunnel模块让我觉得这应该是可能的。 WebSocket可以通过URL /api/socket/… ,所以我尝试使用单独的<Location>块来分隔两种types的ProxyPass : <Location /newapp/> ProxyPass http://newapp.example.com:8080/ disablereuse=on ProxyPassReverse / ProxyPassReverseCookieDomain newapp.example.com apps.example.com […]

SSL:链接问题! >> WINDOWS 2012 R2上的GoDaddy + Apache 2.4.23

大家下午好, 我完全卡住了。 不知道如何跟随,我做了什么错了。 我希望你能帮助我,因为我已经读了很多东西来解决这个问题,但没有成功。 我有: Windows 2012 R2服务器 Apache 2.4.23安装在它上面,MOD_JK代理将所有请求都传递给另一台机器上的Tomcat服务器。 我已经在GoDaddy上购买了EXTENDED证书,所以我可以在url栏上填写“绿色徽章”。 现在,我已经从GoDaddy下载了证书,在de ZIP里面,出现了证书证书和一个G2 + G1 + ROOT绑定证书。 所以里面有2个文件。 把它们放在一个文件夹中,正确地指定在443 VHOST内,下一步将会看到,但是我在互联网上进行的每一个SSLtesting(SSLLabs,DigiCert …)都只是在链接过程中失败 。 网站: cliente.merchbanc.es https://www.ssllabs.com/ssltest/analyze.html?d=cliente.merchbanc.es&hideResults=on https://www.sslshopper.com/ssl-checker.html#hostname=cliente.merchbanc.es 不知道我在做什么错误…我已经准备好了HTTPD.CONF(当然有正确的和需要的模块),但没有任何与VHOSTS和SSL有关的东西。 然后,在额外的configuration文件VHOST,我已经添加了所有的VHOST的事情+ SSL(所以我没有使用SSLconfiguration文件,它被评论,所有在VHOSTS conf文件)。 它看起来像这样: ################################################################################################################## # VHOSTS HTTP # redirect all HTTP to HTTPS (optional) <VirtualHost *:80> ServerAlias * RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=301] </VirtualHost> ################################################################################################################## # […]

Apache-2.4作为NGINX的反向代理 – Log Real IP

我在windows上configuration了apache-2.4作为我的内部nginx服务器的反向代理(我知道!但是不要问我为什么!!)。 几乎一切都很好,除了: 我相信我已经configurationnginx使用这个头来logging真实的IP: X-Real-IP 。 参考 。 现在在我的反向代理中,我该如何设置这个头部到客户端的IP地址,以便它可以被logging。 请注意,SSL是apache-2.4上的必备工具。 目前我的http-vhosts.conf有这个: <VirtualHost _default_:443> RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Ssl on RequestHeader set X-URL-SCHEME https ServerName www.external.gateway:443 ServerAlias external.gateway:443 ErrorLog "C:/Apache24/logs/gateway-error.log" CustomLog "C:/Apache24/logs/gateway-access.log" common # ServerAdmin [email protected] SSLEngine On SSLCertificateFile C:/Apache24/ssl/external.gateway.crt SSLCertificateKeyFile C:/Apache24/ssl/external.gateway.key <Location /> SSLRequireSSL </Location> ProxyPreserveHost On ProxyPass / http://internal.nginx:80/ ProxyPassReverse / http://internal.nginx:80/ </VirtualHost> […]

PHP的错误500:时区数据库已损坏 – 这应该*永远不会发生

我有一个新的Ubuntu服务器16.04 amd64与Apache 2.4.18和PHP 7.0的安装。 我已经在/etc/apache2/apache2.conf中使用mod_env和ChrootDir / var / www chrooted Apache ,据我所知在这里是这个问题。 我想要做一个NexctCloud 11安装,但是一开始运行时会运行一个500错误。 Apache错误日志: [Fri Mar 17 08:21:22.262901 2017] [:error] [pid 31480] [client 193.175.51.226:55749] PHP Notice: date_default_timezone_set(): Timezone ID 'UTC' is invalid in /html/sub.example.com/public_html/lib/base.php on line 637, referer: https://sub.example.com/ [Fri Mar 17 08:21:22.266581 2017] [:error] [pid 31480] [client 193.175.51.226:55749] PHP Warning: DateTime::createFromFormat(): Invalid date.timezone […]

Apache访问控制数据库

我在Apache 2.4.7服务器上工作,根据IP地址黑名单过滤出请求。 目前他们被存储在一个数据库中。 有没有办法通过查询数据库拒绝访问特定的域名 – IP组合? 目前我有一个脚本,通过添加和删除“不需要1.2.3.4”行,与httpd.confconfiguration文件同步数据库。

WebDAV sabre.io PHP,启用组方法抛出错误

如果用户属于同一个项目,我的团队正试图让WebDAV安装程序允许用户共享特定文件的访问权限,否则就是隐藏/阻止访问。 阅读文档,我们认为我们正确地设置它,但是在validation时不断得到这个错误。 http://newui.proloop.com/dav/ rickatech 密码(不要担心,这里没有什么价值) This XML file does not appear to have any style information associated with it. The document tree is shown below. <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> <s:sabredav-version>3.2.0</s:sabredav-version> <s:exception>Sabre\DAV\Exception\NotFound</s:exception> <s:message>File not found: rickatech in 'principals'</s:message> </d:error> <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">…</d:error> … / DAV / index.php文件 <?php namespace LawLoop; date_default_timezone_set('UTC'); require '../vendor/autoload.php'; use Sabre\DAV; use Sabre\DAV\FSExt; […]

Apache MaxRequestWorkers问题不解决

我的网站生成时,我试图达到每秒1000请求。 我在我的apache日志中看到以下错误 Apr 06 00:00:33 ns503772******100.net httpd[9585]: AH00515: WARNING: MaxRequestWorkers of 2000 would require 80 servers and Apr 06 00:00:33 ns503772******100.net httpd[9585]: would exceed ServerLimit of 16, decreasing to 400. Apr 06 00:00:33 ns503772******100.net httpd[9585]: To increase, please see the ServerLimit directive. 我目前的设置是 <IfModule mpm_event_module> LoadModule cgid_module modules/mod_cgid.so MaxRequestWorkers 2000 </IfModule> 我正在使用Plesk Onyx,服务器规格如下。 处理器:Intel Xeon […]

Apache希望将端口80绑定到此端口

当我想启动我的Apache服务器,它显示我这个错误: 启动httpd: (98)已经在使用的地址:make_sock:无法绑定到地址[::]:80 (98)已经在使用的地址:make_sock:无法绑定到地址0.0.0.0:80 没有可用的侦听套接字,closures无法打开日志 [FAILED] 我的httpd.conf文件: Listen 8181 正如你所看到的,我已经删除了其他一切。 不过,Apache希望绑定到清漆使用的端口80。 任何想法如何解决它?

Apache HTTPD偶尔会提供旧的/过期的证书

我有三个主机在同一台服务器上(单个IP): domain1.com domain2.com domain3.com 他们每个人都应该使用最近在2017年4月发布的Let's Encrypt证书。 但是, 偶尔服务器似乎会提供旧的(过期的)证书。 在domain1.com情况下,一个实际上仍然有效的StartSSL证书(07.2016 – 07 – 2017)被提供,而另外两个主机服务期满。让我们从2017年1月开始encryption证书。 下面是这些主机是如何基本上设置(当然有不同的主机名)为certbot: <VirtualHost *:443> ServerName domain1.com ServerAlias www.domain1.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 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:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on SSLCompression off SSLOptions +StrictRequire SSLCertificateFile /etc/letsencrypt/live/domain1.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/domain1.com/privkey.pem DocumentRoot /opt/lucee/tomcat/webapps/domain1.com/ <IfModule mod_headers.c> RequestHeader set HTTPS "1" </IfModule> <IfModule mod_proxy.c> ProxyPassMatch ^/(.*)$ http://127.0.0.1:8500/$1 </IfModule> CustomLog ${APACHE_LOG_DIR}/access_kwaschny.log […]