我启用了运行SSL的Apache Tomcat。 我有Apache HTTP服务器充当反向代理,所以如果用户点击http:// myserver / tomcat /他们被传递给http:// myserver:8080 。 ProxyPass /tomcat/ http://myserver:8080/ ProxyPassReverse /tomcat/ http://myserver:8080/ 我为SSLconfiguration了Apache HTTP服务器,所以当用户点击https:// myserver / tomcat /时,他们应该被传递给https:// myserver:8443 / 。 使用当前的ProxyPass&ProxyPassReverseconfiguration,它们将被redirect到非SSL URL。 如何设置代理通行证,以便根据传入的请求redirect到不同的协议和端口? 也就是说,如果有人通过HTTPS进入,我可以将它们redirect到我的tomcat @ https:// myserver:8443 ? 更新: @迈克 – insch 我试过了: NameVirtualHost *:443 <VirtualHost *:80> ProxyPass /tomcat/ http://myserver:8080/ ProxyPassReverse /tomcat/ http://myserver:8080/ </VirtualHost> <VirtualHost *:443> ProxyPass /tomcat/ https://myserver:8443/ ProxyPassReverse […]
我有一个负载均衡器后面的Web服务器。 我需要添加一个条件redirect到我的.htaccess为了显示一个维护页面,每当我们把网站离线维护。 这部分很简单: RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 不过,我想补充一个条件,如果访问者的IP地址是我自己的,它不会将我redirect到维护页面,我将能够看到和testing站点,就好像它在线。 这部分通常也是直截了当的: RewriteEngine on RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111 RewriteCond %{REQUEST_URI} !/maintenance.php$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.php [R=302,L] 但是,由于我的Web服务器位于负载平衡器的后面,因此REMOTE_ADDR将parsing为Load Balance服务器的内部IP地址。 我怎样才能改变这个查找转发的IP地址? 我知道在PHP中可以使用$_SERVER['HTTP_X_FORWARDED_FOR']来获得转发的IP地址。 我已经在.htaccess尝试了一些东西,但没有运气: %{X_FORWARDED_FOR} %{HTTP:X_FORWARDED_FOR} %{HTTP_X_FORWARDED_FOR} 解 我有以下工作: %{HTTP:X-FORWARDED-FOR}
我有一个(简单的亚马逊)负载平衡器后面的apache服务器。 我想redirect到443不是443的任何传入stream量。我宁愿它只使用一个apache虚拟主机。 所以我试图检测,如果HTTP_X_FORWARDED_PORT标头不是443。 我已经检查了RewriteCond文档 ,它只适用于一套有限的HTTP头文件。 基本上我正在做的是这样的: <VirtualHost *:80> ServerName www.example.com RewriteEngine On RewriteCond %{HTTP_X_FORWARDED_PORT} !=443 RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] …. </VirtualHost> 但RewriteCond不识别HTTP_X_FORWARDED_PORT。 有没有其他的方法来完成这个(只有一个VirtualHost)? (一些types的传入头检查?) 谢谢,兰斯
我前端使用nginx作为“代理caching”和后端Apache,我已经把我的PHP设置如下: error_log = /var/www/site1/php_error.log error_reporting = 22527 file_uploads = On log_errors = On max_execution_time = 0 max_file_uploads = 20 max_input_time = -1 memory_limit = 512M post_max_size = 0 upload_max_filesize = 1000M 有什么问题? 上传less于1MB的文件是成功的,但是比Chrome浏览器输出的更多: Error 101 (net::ERR_CONNECTION_RESET): The connection was reset. 我已经检查了错误日志文件,但是它不存在于目录中。 我也检查/var/log/httpd/error_log但没有上传相关的问题。 我不知道有什么可能导致这个问题,所以我伸出援助之手。 谢谢!
我正在尝试将Squidconfiguration为caching服务器。 我有一个局域网,networking服务器(apache)是192.168.122.11 squid是192.168.122.21 ,我的客户端是192.168.122.22 。 问题是,当我看到Squid的访问日志时,我看到的只是TCP_MISS消息。 看来Squid根本就没有caching。 我检查了caching目录具有所有适当的权限。 还有什么可以在这里出错? 这是我的鱿鱼configuration: acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.1/8 0.0.0.0/32 ::1 acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 21 acl Safe_ports port 443 acl Safe_ports port 70 acl Safe_ports port 210 acl Safe_ports port 1025-65535 acl Safe_ports […]
我试图理解以下两个术语之间的区别: *:80 _default_:80 在Apacheconfiguration文件中。 这里的文档对我来说是不清楚的,在这里我可以find的唯一的邮件列表对话也没有对这件事情(对我来说是可理解的)进行解释。 我有一堆基于名称的虚拟主机声明像这样: <VirtualHost *:80> ServerName example.com … 我希望有一个条目可以在没有匹配的时候触发,也就是说,当一个请求没有虚拟主机名或者没有声明的虚拟主机名的时候。 我应该使用*:80还是_default_:80 ?
我最初在webmasters.stackexchange.com发布,但被告知我会在这里得到一个更好的接待。 在过去的几天里,我一直忍受着似乎是(可能是无意的)DDOS攻击。 我已经从一个代理标识为“Mozilla / 4.0(compatible; ICS)”的许多请求,Apache通过所有可用的内存吃饭。 因此,我想阻止这个用户代理的所有请求,所以我尝试在httpd.conf中执行此操作: SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user Deny from env=bad_user 但是,当我重新启动Apache它抱怨在这里使用deny 。 无需将其包装在location或directory块中,这意味着我必须为每个站点添加一个新块,有什么办法可以拒绝访问整个服务器? 更新:我得到的错误 重新启动Web服务器apache2 /etc/apache2/httpd.conf第4行的语法错误:这里拒绝不允许[fail]
我一直在阅读很多论坛post,教程等,关于在Linux下用fastcgi设置Apache。 我试图运行fcgi的一些我的ruby开发(不轨),但我觉得它应该适用于任何语言。 请注意,我已经安装了apache,fastcgi,ruby-fcgi等等。 从概念上讲,我很难过。 apache是否根据需要产生指定的fcgi进程? 我是否一边开始他们的Apache? 基本上,我正试图让我能够提出正确的问题,如果标题是误导性的,请道歉。
我们正准备从以下环境迁移: Apache 2.0.2 –AJP – > JBoss4.2.2 至 Apache 2.2.3 – ??? – > JBoss 5.1.0 你将如何join到一起? 选项是: 经典的AJP(意味着为Apache构buildmod_jk) mod_proxy(转发HTTP请求到JBoss) mod_proxy_ajp的 选项2是目前最stream行的解决scheme,因为由于不再需要翻译来自AJP的JBoss响应,这似乎意味着处理较less,CPU时间是我们需要密切关注的基础设施。 选项2和3也与Red Hat支持的Apache版本一起提供。 目前我看不到我们select1,因为我们通过选项3获得AJP'免费'。 因此,选项2和3有什么优点和缺点? 关于CPU负载的担忧是否真的是我们需要担心的事情? 在处理二进制数据(AJPstream量)时,我们会减less带宽和IO吗? 我们的基础设施将是Apache在同一个RHEL 5机器上面对9个经严格调整的JBoss(但通常约为其一半),这是在私有云中虚拟化的。 预先感谢任何指针/build议。 丰富
即时通讯设法设置Apache与SSl和代理SSL请求到我的Tomcat实例。 我想我做了SSL的工作,但仍然是一个错误,显示: Bad Gateway The proxy server received an invalid response from an upstream server. * SSL虚拟主机* LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost _default_:443> SSLEngine On SSLProxyEngine On DocumentRoot "/var/apache-tomcat-7.0.34/webapps/Learn2Gether/" SSLCertificateFile /etc/pki/tls/learn2gether/cert-6090205098829887.pem SSLCertificateKeyFile /etc/pki/tls/learn2gether/private_key_unlocked.pem SSLCertificateChainFile /etc/pki/tls/learn2gether/rubca-chain.pem BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL ServerName www.learn2gether.rubel.rub.de ServerAlias learn2gether.rubel.rub.de #RewriteRule ^\/$ /Learn2Gether/index.html [PT] ##RewriteRule ^/(.*)$ /$1 […]