我的网址正在运行https://domain.com:7002/app1,我想在用户在浏览器中输入 domain.com 时进行 weblogic 重定向,它应该将他们放置到https://domain.com:7002/app1
为了使重定向正常工作,Weblogic 方面需要进行哪些更改?
谢谢
答案1
您可以在 web.xml 上执行一些操作,但我不确定这种重定向是否必须由 Weblogic 完成。除了这样做,您还可以使用其他方式进行重定向:我使用 nginx 和 haproxy 做了一些类似于您需要的操作。
使用 nginx 你可以做类似的事情
location / {
proxy_pass https://domain.com:7002/app1;
}
答案2
Weblogic 附带 OHS(Oracle HTTP Server),它基本上是 Apache。这是一篇关于使用 Apache 和 weblogic 集群的博客文章,但它也向您展示了如何重定向到单个服务器。
相关部分是这样的(针对您的示例进行了修改):
<Location / >
SetHandler weblogic-handler
WebLogicHost https://domain.com
WebLogicPort 7002
PathPrepend app1
</Location>
“Location /”标签告诉您的服务器,无论何时访问根上下文,都应调用该块。然后,mod_wl 会将您重定向到提供的主机和端口,“PathPrepend”会在端口后立即添加“app1”。
答案3
您可以使用 weblogic 代理类“weblogic.servlet.proxy.HttpProxyServlet”。要设置代理,您需要创建 web.xml 和 weblogic.xml,并将它们作为代理项目放在 WEB-INF 目录中。 weblogic.xml 示例
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 9.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<context-root>/</context-root>
</weblogic-web-app>
**example for web.xml**
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>
<servlet>
<servlet-name>ProxyServlet</servlet-name>
<servlet-class>weblogic.servlet.proxy.HttpProxyServlet</servlet-class>
<init-param>
<param-name>redirectURL</param-name>
<param-value> https://domain.com:7002</param-value>
</init-param>
<!-- init-param>
<param-name>PathTrim</param-name>
<param-value>/proxy</param-value>
</init-param-->
<init-param>
<param-name>PathPrepend</param-name>
<param-value>/app1</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ProxyServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>