我有兩個AppEngine模塊,一個運行Python的Python模塊和一個運行Java的「java」模塊。我正在使用urlfetch從默認模塊訪問Java模塊。根據AppEngine文檔(cloud.google.com/appengine/docs/java/appidentity),我可以通過檢查X-Appengine-Inbound-Appid標頭在Java模塊中驗證請求來自同一應用中的模塊。X-Appengine-Inbound-Appid頭文件未設置
但是,此標題未設置(在生產部署中)。我的Python模塊中使用網址抓取如下:
hostname = modules.get_hostname(module="java")
hostname = hostname.replace('.', '-dot-', 2)
url = "http://%s/%s" % (hostname, "_ah/api/...")
result = urlfetch.fetch(url=url, follow_redirects=False, method=urlfetch.GET)
請注意,我使用的符號:
<version>-dot-<module>-dot-<app>.appspot.com
,而不是符號:
<version>.<module>.<app>.appspot.com
由於某種原因結果在404響應中。
在Java模塊我運行一個Servlet過濾器,看起來所有的請求頭如下:
Enumeration<String> headerNames = httpRequest.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
String headerValue = httpRequest.getHeader(headerName);
mLog.info("Header: " + headerName + " = " + headerValue);
}
AppEngine上不設置一些標題,例如X-AppEngine上的國家。但是沒有設置X-Appengine-Inbound-Appid頭。
爲什麼我沒有看到記錄的行爲?任何建議將不勝感激。