我对负载均衡相当陌生。 我可以使用Apache httpd,mod_jk和tomcat设置负载均衡器。 现在的问题是我们想以如下方式进行devise, [HTTPD] /\ / \ [HTTPD LB] [HTTPD LB] / \ / \ [Tomcat Cluster 1] [Tomcat Cluster 2] HTTPD LB – 带负载平衡器的Apache Httpd 但mod_jk只支持AJP协议,所以我的问题是 – 上面显示的模型是否可以使用mod_jk与Apache httpd和Tomcatdevise?
当在干净的Ubuntu服务器12.04中设置2个tomcat6实例集群时,有点困惑。 我没有安装默认的tomcat6我用tomcat6-user的tomcat6-instance-create来创build2个实例。 我正在使用blogs.encodo.ch教程,不幸的是,我还没有遇到任何使用Ubuntu的教程如何configurationapache2像ubuntu 12.o4。 我的意思是,ubuntu使用的sites-available/enabled文件夹和mods-available/enabled 。 我已经安装了libapache2-mod-jk和mods-enabled了jk.load,jk.conf。 server instance-1 uses port 8081 for http, port 8009 for ajp with jvmRoute="worker1" and instance-2 uses port 8082 for http, port 8010 for ajp with jvmRoute="worker2" #/etc/apache2/workers.propeties worker.list=loadbalancer,jk-status #setup instance-1 worker.instance-1.port=8009 worker.instance-1.host=localhost worker.instance-1.type=ajp13 #worker.instance-1.lbfactor=50 #setup instance-2 worker.instance-2.port=8010 worker.instance-2.host=localhost worker.instance-2.type=ajp13 #worker.instance-2.lbfactor=100 #setup the load-balancer worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=instance-1,instance-2 worker.loadbalancer.sticky_session=True #worker.loadbalancer.sticky_session_force=True # […]
Apache 2.2.24 mod_jk 1.2.37 我试图通过siteminmin用户名通过到mod_jkconfiguration的Tomcat。 siteminder用户名是可用的名为“SM_USER”的请求标头。 当我使用环境variablesJK_REMOTE_USER( http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html )对一个值进行硬编码时,mod_jk将其拾取并传递给Tomcat。 例如(使用静态用户名)SetEnv JK_REMOTE_USER“nickw” 但是,我想采取SM_USER标头,并通过dynamic传递。 例如(用户通过为null)SetEnvIfNoCase SM_USER ^ [az]。* JK_REMOTE_USER 有没有一个明显的问题,我正在使用的configuration? 在调用mod_jk之后是否发生了SetEnvIfNoCase处理? 还是有另一种更简单的方法来完成同样的事情?
所以我正在开发一个Java Web应用程序,为此我最近实现了一个依赖于JSESSIONID cookie识别用户的authentication模块。 我在eclipse上testing了一个本地的tomcat,并且一切正常……直到我用一些更高级的安装结构在我们的VPS(Centos)上部署应用程序: Apache HTTP服务器 几个虚拟主机 所述webapp被安装在具有mod_jk的虚拟主机中。 目前通过“sub.hostname.com/WEBAPP_NAME/home”进行访问,但应该以“sub.hostname.com/home”提供。 上面的设置在authentication更新之前并不是什么大问题(顺便说一下,之前的tomcat安全选项处理访问)。 旧的VirtualHost看起来像这样,工作得很好: <VirtualHost *:80> ServerName sub.hostname.com RewriteEngine on RewriteRule ^/(.+)$ /WEBAPP_NAME/$1 [L,PT] RewriteRule ^/$ /WEBAPP_NAME/home [L,PT] JkMount /* worker </VirtualHost> 问题:部署之后,validation将不起作用,因为JSESSIONID cookie没有写入。 我删除了RewriteRules并通过'sub.hostname.com/WEBAPP_NAME/home'访问应用程序,在那里一切正常,我收到一个cookie。 从这些观察,我猜这个问题是由于URL被重写,而Servlet不会将cookie写入正确的path(?)如果是这样的话,我应该尝试从应用程序内写入cookie到其他path? 问题:我接受关于解决scheme的所有build议。 请裸露在我身上,因为我(显然)不是服务器设置的专家。 有没有什么具体的设置,可以在apache或tomcat中处理呢? 还是我最初select了错误的安装架构? 提前感谢!
我试图用Apache mod_jk,SSL和AJP连接器在CentOS 6上configurationTomcat 7。 JK模块安装在Apache下: $ sudo httpd -M | grep jk jk_module (shared) Syntax OK Tomcatconfiguration了一个AJP连接器,如下所示: <?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> […]
我正在apache web服务器后面运行Apache Tomcat + mod_jk 1.2.40。 从tomcat启动以来,一切都已经设置并正常工作了一段时间(可测量天/星期)。 然后发生什么事情,mod_jk失去与tomcat的连接。 除了发生的事情(实际上我不知道发生了什么,我正在排除故障),我正在寻找一些关于jk和tomcat之间的连接丢失的原因的支持。 下面是连接失败问题周围的部分mod_jk日志: [Wed Dec 10 09:28:21 2014] [26331:140365639858112] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized [Wed Dec 10 09:28:37 2014] [12546:140365639858112] [info] ajp_send_request::jk_ajp_common.c (1652): (workerName) all endpoints are disconnected, detected by connect check (1), cping (0), send (0) … [Wed Dec 10 09:28:49 2014] [26331:140365639858112] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 […]
我有mod_jk的Apache httpd。 我有长时间闲置期间死亡的连接问题:Apache停止响应,每个HTTP请求挂起15分钟。 我试图closuresmod_jk连接池(与DisableReuse),问题消失。 在Tomcat文档中写道: Using this option will have a strong performance penalty for Apache and Tomcat. Use this only as a last resort in case of unfixable network problems. If a firewall between Apache and Tomcat silently kills idle connections, try to use the worker attribute socket_keepalive in combination with an appropriate TCP […]
我有一个Apache 2.4.23 + OpenSSL 1.0.2j正面服务器。 然后我安装了Tomcat 7的另一台服务器。 这个想法是,Apache在*:443上有一个VHOST,它使用ProxyPass根据指定的URL通过AJP发送请求到Tomcat服务器。 这是我的vhosts.conf文件(它有SSLconfiguration,因为我不想使用httpd-ssl.conf文件,因为我必须改变很多东西),根据这个网站: https://mozilla.github.io/server-side-tls/ssl-config-generator/ ################################################################################################################## # VHOSTS HTTP # redirect all HTTP to HTTPS (optional) <VirtualHost *:80> ServerAlias * RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=301] </VirtualHost> ################################################################################################################## # VHOSTS HTTPS Listen 443 # modern configuration, tweak to your needs SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1 […]
我有一个麻烦太多请求的Apache的问题。 当我看看服务器状态页面时,我可以看到大多数连接处于“读取请求”状态,但没有完成。 当我进行平稳的重新启动时,所有“读取请求”连接消失。 由于重启时间不长,我相信连接不再使用。 apache在一段时间内(> 30分钟)正在满足这些请求。 但是,当连接不再使用时,我会期望有一些超时来杀死这些连接,但是这不会发生,或者超时太大。 有谁知道哪个超时应该杀死这些连接,或者我在错误的地方search? 一些细节设置: 使用mod_jk 1.2.10的HP-UX上的apache 2.0.55 状态“阅读请求”中的大多数连接都是通过mod_jk(客户端 – > HP-UX apache – > Tomcats)连接到tomcat后端,但不是全部。 我知道mod_jk是一个非常旧的版本,计划很快更新。 但我不怀疑mod_jk,因为在将连接redirect到另一个更新的mod_jk的apache,然后将连接redirect到tomcats(客户端 – > HP-UX apache – > Linux apache – > Tomcats)时,会出现相同的效果。 它始终是填充“RR”连接的HP-UX Apache。
对不起,这是我第一次尝试Nginx-Jetty而不是Apache-JK-Tomcat。 我将myapp.war文件部署到了$ JETTY_HOME / webapps /,并且可以通过以下URL访问该应用程序: HTTP:// MYIP:8080 / MYAPP 我做了Nginx的默认安装,默认的Nginx页面可以在myIP上访问 然后,我将/ etc / nginx / sites-enabled下的默认域修改为以下内容: server { listen 80; server_name mydomain.com; access_log /var/log/nginx/localhost.access.log; location / { #root /var/www/nginx-default; #index index.html index.htm; proxy_pass http://127.0.0.1:8080/myapp/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } } 现在,当我打myIP的时候,我得到了mypp的索引页面(运行在docker),这很好。 但所有的链接都是畸形的。 例如。 到css的链接是mydomain.com/myapp/css/style.css,而应该是mydomain.com/css/style.css。 它似乎映射mydomain.com到127.0.0.1:8080而不是127.0.0.1:8080/myapp/ […]