Azure容器组中Flask应用重定向至本地而非服务器localhost问题求助
解决Azure容器组中Flask应用重定向目标错误的问题
问题分析
Azure容器组内的所有容器共享同一个网络命名空间,主容器(Flask应用,端口5001)里的localhost指向的是容器组的网络栈,而非你的本地机器。原代码硬编码重定向到http://localhost:5002/login,现在需要调整为指向边车容器的5003端口。
解决方案
1. 修改Flask重定向地址
直接修改login路由中的重定向目标,将端口从5002改为5003:
from flask import Flask, render_template, redirect, url_for app = Flask(__name__) @app.route('/') def home(): return render_template('index.html') @app.route('/login') def login(): # 重定向至容器组内的边车容器端口5003 return redirect('http://localhost:5003/login') if __name__ == '__main__': app.run(host='0.0.0.0', port=5001)
2. 确认容器组网络配置
- 确保边车容器在容器组内监听5003端口,同一容器组内的容器无需额外端口映射,直接通过
localhost+端口即可通信。 - 如果登录页面需要外部直接访问,需在Azure容器组的部署配置中添加5003端口的公共映射,用户可通过
http://public-ip:5003/login直接访问。
内容的提问来源于stack exchange,提问作者Shashidher Reddy
相关产品推荐
相关产品推荐

