0

我有两个 java webapp,比如 MyApp 和 AuthEngine。AuthEngine 是一个通用的身份验证应用程序,任何其他应用程序都可以使用它。当用户登录 MyApp 时,用户凭证会被发送到 AuthEngine 进行验证。我正在使用 jersey 客户端调用 AuthEngine 的服务(不使用任何 REST 功能,AuthEngine 是使用普通 Java Servlet 开发的)。

WebResource resource =  null;
resource = authClient.resource("http://localhost:8080/authengine/authenticate");
queryParam = new MultivaluedMapImpl();
queryParam.add("username", username);
queryParam.add("password", password);
clientResponse = resource.queryParams(queryParam).get(ClientResponse.class);
response = clientResponse.getEntity(String.class);

这里一切正常。MyApp 从 authengine 调用身份验证 servlet 并返回状态。

但是,如果我使用 80 作为 myapp 和 authengine 的端口,而不是使用端口 8080,那么一切都会中断

当我使用端口 80 时,对 authEngine 的身份验证请求没有被调用,并导致响应中的值为空。

我尝试了不同的端口号,它似乎在除 80 之外的所有其他端口中都可以正常工作。有人可以帮我找出这个奇怪问题的原因吗?我已经黔驴技穷了!!

4

1 回答 1

-1

1)您的两个 Web 应用程序都说 MyApp 和 Auth Engine 不能具有相同的实例,即(端口号)
2)如上所述,将您的 Auth Engine 设为 Web 服务(球衣)。
3) 将服务(Auth Engine) 指向 Myapp,即制作 URL 以映射 Myapp Web...
4) 检查您在 Tomcat 中的 server.xml 文件,该文件在 http 1.1 协议中具有端口号 80
5) 您不需要明确指定url 中的端口号 80,因为 http 的默认端口号是 80 而 https 是 443

于 2014-07-30T06:22:03.957 回答