我尝试了谷歌search,唯一的文章,我发现比较这两个是从2005年到2002年。我只是build立我的第一个Tomcat实例运行Jira为我正在做一个项目。 我想通过端口80和apache代理这个。 从我可以告诉,我可以很容易地使用mod_proxy转发stream量。 使用mod_jk有什么区别? 这两个MOD有没有任何性能/安全的区别? 任何人有任何提示/经验设置转发通过Apache? 我正在运行Debian Lenny。
除非你使用mod_proxy_http否则JIRA不会正式支持把tomcat放在apache之后。 推荐的configuration是这样的
/etc/httpd/vhosts.d/jira.company.com.conf
... ProxyPreserveHost On <Location /> ProxyPass http://localhost:8080/ </Location> ...
/opt/j2ee/domains/company.com/jira/tomcat/conf/server.xml
... <Connector address="localhost" port="8080" URIEncoding="UTF-8" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" proxyName="jira.company.com" proxyPort="80" disableUploadTimeout="true" /> ...
这应该让你继续http ,让我知道如果你想为https的例子
免责声明:我目前是Atlassian员工,虽然我不在JIRA团队工作
两种方法都将请求从Apache转发给tomcat。 mod_proxy使用我们都知道的爱的HTTP。 mod_jk使用二进制协议AJP。 mod_jk的主要优点是:
一个小缺点是,AJP是基于固定大小的块,并可以打破长头,特别是长长的参数请求URL,但你应该很less有8K的URL参数的位置。 (这会表明你做错了:))
由于mod_proxy_ajp的存在,位置稍微复杂一些。 在他们之间,mod_jk是两者中较为成熟的,但mod_proxy_ajp与其他mod_proxy模块在相同的框架中工作。 我还没有使用mod_proxy_ajp,但将来会考虑这样做,因为mod_jk涉及Apache之外的configuration。
给出一个select,我宁愿一个基于AJP的连接器,主要是由于我的第二个优势,比性能方面更多。 当然,如果Atlassian不支持除mod_proxy_http之外的其他任何东西,那么它的确有点牵强,但是mod_jk可以和JIRA一起工作。
是的,有一些差异。 但是,您select使用的将取决于您的应用程序。
作为一个例子, mod_proxy将作为一个普通的反向代理,它只会转发正常的头文件,而mod_jk将作为一个特殊的连接器,不仅转发正常的头文件,而且转发其他的环境variables。 一个比喻可以被绘制到scgi和fastcgi连接器。
为了使用JSP,您应该使用它为其devise的mod_jk 。 转发到常规Web服务器时,只能使用mod_proxy (可能会启动其他ajp连接器)。
[front apache]---proxy---[back apache]---ajp---[tomcat] | +--------- ajp----[tomcat]
希望这可以帮助。
mod_proxy将真正使用正常的http连接器“代理”到tomcat的所有请求。
mod_jk打开与tomcat服务器的“ajp13”连接,与常规的tomcat http连接器分开,并通过这种方式传递stream量。