2014-11-06 56 views
3

我有兩個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頭。

爲什麼我沒有看到記錄的行爲?任何建議將不勝感激。

回答