我有两个java webapp,比如MyApp和AuthEngine。 AuthEngine是一种常见的身份验证应用程序,可供任何其他应用程序使用。 当用户登录MyApp时,用户凭据将发送到AuthEngine进行验证。我正在使用jersey客户端来调用AuthEngine的服务(不使用任何REST功能,使用普通的Java Servlet开发AuthEngine)。
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从authenticngine调用身份验证servlet并返回状态。
但是,如果我使用80作为myapp和authengine的端口,而不是使用端口8080,一切都会中断。
当我使用端口80时,不会调用对authEngine的身份验证请求,从而导致响应中出现空值。
我尝试使用不同的端口号,它似乎在80以外的所有其他端口中都能正常工作。 有人可以帮我找出这个奇怪问题的原因吗?我在我的智慧结束!
答案 0 :(得分:-1)
1)您的两个Web应用程序都说MyApp和Auth Engine无法拥有相同的实例,即(端口号)
2)如上所述,将Auth引擎设为Web服务(平针织)
3)将服务(Auth Engine)指向Myapp,即将URL映射到Myapp Web ...
4)在http 1.1协议中检查端口号为80的Tomcat中的server.xml文件
5)您不需要在url中明确指定端口号80,因为http的默认端口号是80而https是443