我使用Webapp2创建了一个Google App Engine项目,三天前一切运行良好,但今天(现在)感到惊讶的是它有时会说错误
在此服务器上找不到请求的网址
然后如果我在浏览器中重新加载网址多次,如10次。我可以看到我的网站。
重定向用户登录其Google帐户,然后检查用户是否已注册并提供个性化内容或信息。尝试在浏览器中重新加载它导致
在此服务器上找不到请求的网址。
发生了什么事?是否由制作Google Cloud Project时选择的位置引起,选择中没有非洲,所以我选择了附近的区域!
misbehaving url is this虽然如果加载它可能会检查您的电子邮件是否先注册...
这是app.yaml
档案:
application: cngiramicroloanscentre
version: alpha
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /
script: cngira.app
login: required
- url: /loanee/.*
script: loanee.app
login: required
- url: /officers
script: officers.app
login: required
- url: /loanees
script: loanees.app
login: required
- url: /loanees/.*
script: loanees.app
login: required
libraries:
- name: webapp2
version: "2.5.2"
- name: jinja2
version: "2.6"
- name: markupsafe
version: "0.15"
在cngira.py
中路由的代码部分是:
....
app= webapp2.WSGIApplication([('/',MainPage)],debug=True)
类MainPage是:
class MainPage(webapp2.RequestHandler):
"""docstring for MainPage"""
def get(self):
user=users.get_current_user()
user_email=user.email()
fetched_user=(ndb.Key("Officer",user_email)).get()
if(fetched_user==None and user_email != "johnnnoni@gmail.com" and user_email != "barakarichard1992@gmail.com"):
self.response.out.write("Sorry you are not authorised to access this place yet consult the authorised to add you to add you!! "+user_email)
else:
template_in=template_env.get_template("templates/index.html")
if(user_email=="johnnnoni@gmail.com" or user_email == "barakarichard1992@gmail.com"):
dictionary_to_pass={"navigations":navigations}
self.response.out.write(template_in.render(dictionary_to_pass))
else:
self.response.out.write(template_in.render( { "navigations":navigation_for_officer } ))
答案 0 :(得分:2)
在这种情况下显示的404页面不是来自应用程序的404错误的典型页面,而是“破碎的机器人”,
- 这是一个错误。
醇>在此服务器上找不到请求的URL。这就是我们所知道的。
由Google基础架构提供的一个:
这通常表明GAE基础架构无法从请求中确定正确的应用程序实例(如果需要)并将请求传递给进行处理。请求甚至没有到达应用程序代码。
通常表示某种应用程序配置问题,或者在极少数情况下,表示GAE / Google托管基础架构中断。
正如OP的评论所示,删除项目并创建一个新项目,而不是修复此实例中的问题。一种相当激进的方法 - 项目标识符不能重复使用,在某些情况下删除旧项目可能不被认为是可接受的。
但是在一个新的(临时)项目中克隆应用程序配置+代码只是为了仔细检查 - 如果新项目按预期工作,可能需要谷歌的支持来修复旧项目。