我有一个在Tomcat上运行的Java门户,但我希望它的静态内容(HTML除外)由Apache httpd提供。
所以我已经安装了Apache httpd,现在正在配置httpd.conf
我知道我需要类似以下文字的内容:

<VirtualHost *:80>
DocumentRoot /opt/tomcat/webapps/ROOT
ServerName mywebapp.com
ServerAlias mywebapp.com
ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPassMatch "^/(.*\.gif)$" "ajp://localhost:8009/$1"
ProxyPassReverse  /  ajp://localhost:8009/




但这只是一个示例,我不知道如何在ProxyPassMatch之前使用RegEx来实现我的目的。

我的目的是通过Apache httpd提供jpg,jpeg,gif,js,css
Tomcat提供的其他服务

最佳答案

我找到了解决方案:

<VirtualHost *:80>
    DocumentRoot /opt/tomcat/webapps/ROOT
    ServerName mywebapp.com
    ServerAlias mywebapp.com
    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    #ProxyPass         /  ajp://localhost:8010/
    ProxyPassMatch ^/(.*(?<!\.jpg)(?<!\.png)(?<!\.jpeg)(?<!\.css)(?<!\.ico)(?<!\.bmp)(?<!\.js)(?<!\.gif))$ ajp://localhost:8009/$1

    ProxyPassReverse  /  ajp://localhost:8009/
</VirtualHost>

关于java - 在Tomcat + Apache上将mod_proxy_ajp用于Java门户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34327861/

10-13 05:17