当我尝试通过Google App Engine标准访问特定的Auth0 URL(https://ssodev.gaf.com/oauth/token)时,我的servlet超时(大约100秒后,日志显示“由于请求截止时间已超过,进程已终止”)。如果我尝试访问其他Auth0 URL(https://pushpin.auth0.com/oauth/token),则我的servlet不会超时。到底是怎么回事? Google App Engine是否阻止了第一个URL?
有趣的是,我可以访问Google Cloud Shell中的两个URL:
curl --request GET --url https://ssodev.gaf.com/oauth/token
curl --request GET --url https://pushpin.auth0.com/oauth/token
这两个超时都没有。
我的代码如下。我从入门Java示例(https://github.com/GoogleCloudPlatform/getting-started-java.git)开始。我只更改了HelloAppEngine.doGet方法。
@WebServlet(name = "HelloAppEngine", value = "/hello")
public class HelloAppEngine extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
//String url = "http://mit.edu"; // This works
//String url = "https://pushpin.auth0.com/oauth/token"; // This works
String url = "https://ssodev.gaf.com/oauth/token"; // This times out
try {
InputStream in = new URL(url).openStream();
}
catch(Exception exception) { }
}
}