Reputation: 1
I am trying to deploy my flask application to aws app runner, locally everything works perfectly. But I can't figure out how to redirect to another page of my website in app runner
My code looks similar to this
from flask import Flask, url_for
from waitress import serve
app = Flask(__name__)
@app.route("/hello")
def hello():
return "Hello"
@app.route("/redirect_to")
def redirect_to():
return "Redirected successfully!"
@app.route("/redirect_from")
def redirect_from():
return redirect(url_for("redirect_to"))
if __name__ == "__main__":
serve(app, host="0.0.0.0", port=8000)
App runner provided "Default domain" that redirects all traffic to my app, that is running on 0.0.0.0:8000. When I request default-domain.awsapprunner.com/hello, it successfully redirects to 0.0.0.0:8000/hello, but when I try to request default-domain.awsapprunner.com/redirect_from page loads forever. I think it happens because my app redirects to 0.0.0.0, and app runner expects that all traffic comes to default-domain.awsapprunner.com but I am not sure
What is the best way to fix this problem?
Upvotes: 0
Views: 543
Reputation: 61
from flask import Flask, url_for, redirect
from waitress import serve
app = Flask(__name__)
@app.route("/hello")
def hello():
return "Hello"
@app.route("/redirect_to")
def redirect_to():
return "Redirected successfully!"
@app.route("/redirect_from")
def redirect_from():
return redirect("http://YOUR_APP_URL.com/redirect_to")
if __name__ == "__main__":
serve(app, host="0.0.0.0", port=8000)
Upvotes: -1