http://localhost:8080/webapps1
http://localhost:8080/webapps2
http://localhost:8080/webapps3
Tomcat AJP连接器配置为:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
现在我尝试通过AJP连接器使用Apache2.4代理配置将这三个应用程序全部发布到Internet上
我还注册了三个FQDN如:
www.thss.domain1.com.au
www.stoa.domain2.com.au
ozssc.stoa.domain2.com.au
......
listen 10.0.1.100:80
......
<VirtualHost 10.0.1.100:80>
ProxyPreserveHost On
ServerName www.thss.domain1.com.au
ServerAlias thss.domain1.com.au
ServerAdmin admin@domain1.com.au
ProxyPass / ajp://127.0.0.1:8009/webapps1/
ProxyPassReverse / ajp://127.0.0.1:8009/webapps1/
</VirtualHost>
<VirtualHost 10.0.1.100:80>
ProxyPreserveHost On
ServerName www.stoa.domain2.com.au
ServerAlias stoa.domain2.com.au
ServerAdmin admin@domain1.com.au
ProxyPass / ajp://127.0.0.1:8009/webapps2/
ProxyPassReverse / ajp://127.0.0.1:8009/webapps2/
</VirtualHost>
<VirtualHost 10.0.1.100:80>
ProxyPreserveHost On
ServerName ozssc.stoa.domain2.com.au
ServerAdmin admin@domain1.com.au
ProxyPass / ajp://127.0.0.1:8009/webapps3/
ProxyPassReverse / ajp://127.0.0.1:8009/webapps3/
</VirtualHost>
详情如下:
当我从Internet访问我的第一个FQDN(www.thss.domain1.com.au)时,请求成功地通过了:路由器->Apache 2.4(端口80)->AJP连接器(8009)->Tomcat 8.0.28,所有页面都运行良好。
Tomcat访问日志显示:
58.106.1.75 - - [01/Nov/2015:09:37:40 +1100] "GET /webapps1/ HTTP/1.1" 200 2616
58.106.1.75 - - [01/Nov/2015:09:37:40 +1100] "GET /webapps1/css/thss_layout.css HTTP/1.1" 200 1405
58.106.1.75 - - [01/Nov/2015:09:37:40 +1100] "GET /webapps1/js/dojo-release-1.8.6/dojo/dojo.js HTTP/1.1" 200 158637
148.251.45.185 - - [01/Nov/2015:08:58:59 +1100] "GET /webapps2/ HTTP/1.1" 200 19098
148.251.45.185 - - [01/Nov/2015:08:59:00 +1100] "GET /webapps2/webapps2/dojo-release-1.10.4/dijit/themes/claro/claro.css HTTP/1.1" 404 1158
148.251.45.185 - - [01/Nov/2015:08:59:01 +1100] "GET /webapps2/webapps2/css/style.css HTTP/1.1" 404 1088
148.251.45.185 - - [01/Nov/2015:08:59:02 +1100] "GET /webapps2/webapps2/images/icons/search33.png HTTP/1.1" 404 1112
欢迎提供任何建议!
周末愉快!大副
不要更改ProxyPass指令中的上下文路径。当你这样做的时候,有很多很多的方法搬起石头砸自己的脚。
猜测一下,页面上的链接是绝对的,所以它们包括上下文路径。当客户机请求这些内容时,ProxyPass指令再次添加上下文路径。
最简单的解决方案是为虚拟主机配置Tomcat,并将每个应用程序作为根web应用程序部署在自己的虚拟主机中。
我正在使用Vagrant部署到Ubuntu Linux,并尝试启动服务。 然后我跟踪,发现: ?tomcat8.service-lsb:启动tomcat。加载:加载(/etc/init.d/tomcat8) active:失败(结果:exit-code)自2016-03-28 09:44:17 GMT;5s前 文档:人:systemd-sysv-generator(8) 进程:884 execst
当我发送请求时,握手成功。下面是请求和响应头: 请求标头 连接maps.googleapis.com:443 HTTP/1.1客户端用户代理:apache-httpclient/4.1.1(Java1.5)传输连接:Keep-Alive主机:maps.googleapis.com 运输 连接:关闭 握手之后,没有进一步的请求和响应发生。
这是一道样题!千万不要在生产中这样做。在单独的容器中运行NGINX/PHP/OTHER服务! 和:
问题内容: 我用来调用Firebase请求函数,并在请求完成后得到通知,以便能够处理结果。在这种情况下,我只是打印了一条语句。 这段代码工作正常。 问题 在于,在运行时,数据将被添加到Firebase数据库中。这就是为什么我必须使用而不是。 这意味着在运行时会有一个观察者,并且如果数据已添加到数据库中,则将再次调用其中的块。 一旦发生这种情况,该应用就会崩溃,因为没有调用。只要我说对了。 如果将其
问题内容: 下面的代码有任何错误吗?以下代码无法提供多个目录服务。当我访问localhost:9090 / ide时,服务器将返回404错误。 当我这样更改代码时, 它会按我预期的那样工作。 问题答案: 使用中的问题之一是请求路径用于构建文件名,因此,如果要从根目录以外的任何地方提供服务,则需要剥离到该处理程序的路由前缀。 标准库为此提供了一个有用的工具,但该工具只能在s上使用,而不能在s 上使用
我已经安装了Tomcat7和8,但是如果我进入服务器选项卡并单击Create new Server,我会发现:它既不允许我插入服务器名称,也不允许我单击Finish。