apache - 通过子域将 Apache 代理到 Tomcat,使用 mod_jk,将路径隐藏在 url 中

标签 apache tomcat url-rewriting subdomain mod-jk

我的 Debian 服务器上运行着一个 Apache 和一个 Tomcat,Apache 使用 mod_jk 来代理请求到 Tomcat 并返回。我在 Tomcat 中安装了 Jenkins。安装工作正常,代理也工作。

现在我的重写规则有问题(我认为)。

拥有的是: ci.<mydomain>.com/jenkins

想要的是: ci.<mydomain>.com

我对 Apache 中的重写规则经验不足,文档/谷歌也没有帮助我(可能我没有使用正确的关键词)。 所以任何帮助表示赞赏。

这是我的设置:
Apache 版本:Apache/2.2.16 (Debian)
Tomcat版本:Apache Tomcat/7.0.27

我的 worker.properties文件看起来像这样:

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

我的子域/虚拟主机的定义:

<VirtualHost *>
  ServerName ci.<mydomain>.com
  ServerAlias www.ci.<mydomain>.de

  ErrorLog /var/log/apache2/ci_error.log
  LogLevel warn 
  CustomLog /var/log/apache2/ci_access.log combined

  JKMount /jenkins/* worker1
  JKMount /jenkins worker1

  RewriteEngine on
  RewriteRule ^/$ /jenkins/ [R=permanent]
  RewriteRule ^/jenkins/(.*)$ ajp://localhost:8009/jenkins/$1 [P]
</VirtualHost>

Jenkins 只是我希望由 Tomcat 提供服务的一个应用程序。大多数其他应用程序也将拥有自己的虚拟主机。就我对 mod_jk 的理解而言,这个 worker 应该足以满足我所有其他应用程序的需求,但也许我错了。

由于我已经可以通过子域访问 Jenkins,我认为(如前所述)只是正确重写规则的问题。

感谢任何帮助,我感谢任何建议或提示:)

最佳答案

不确定这是否仍然是一个问题,但应该很容易解决。我做了一些非常相似的事情,这是你应该需要的:

<VirtualHost *>
  ServerName ci.<mydomain>.com
  ServerAlias www.ci.<mydomain>.de

  ErrorLog /var/log/apache2/ci_error.log
  LogLevel warn 
  CustomLog /var/log/apache2/ci_access.log combined

  JKMount /jenkins/* worker1
  JKMount /jenkins worker1

  RewriteEngine On
  RewriteRule  ^/(.*)$   /jenkins/$1 [PT]
</VirtualHost>

关于apache - 通过子域将 Apache 代理到 Tomcat,使用 mod_jk,将路径隐藏在 url 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931014/

相关文章:

java - Servlet .jar 依赖空指针

http - 使用 HTTP 模块在 ASP.NET 3.5 和 IIS 7 中重写 URL

IIS管道: what goes first: URL Rewrite or HttpHandler?

apache - 在 apache 虚拟主机中重定向和隐藏端口(文件夹) - xwiki

java - Tomcat 7 : Connection reset by peer or Software caused connection abort

apache - 文件与 Artifactory

maven - Spring Boot应用程序没有启动tomcat

php - Wordpress - 在 url 中重写或隐藏 wp-json

java: 让 Apache HttpClient 连接到具有特定 IP 的主机

php - 套接字在写入前等待客户端写入