我对 python 比较陌生,我使用flask-resplus创建了一个微服务。在我的计算机和使用 http 服务的开发服务器上工作正常。我无法控制微服务的部署位置。在这种情况下,它似乎位于负载均衡器后面(不确定细节),使用 https 提供服务。
浏览器给出的实际错误:无法从服务器读取。它可能没有适当的访问控制来源设置。
当我检查网络开发人员工具时,我发现它无法加载 swagger.json。但是正在使用: http://hostname/api/swagger.json而不是 https 来检查它。
我一直在谷歌搜索,我遇到了这个问题的讨论。这似乎是无需更改服务器上的库或配置即可工作的修复程序。
但是我仍然无法让它工作。
这就是我所拥有的:
在 api 文件上:
api_blueprint = Blueprint('api', __name__, url_prefix='/api')
api = Api(api_blueprint, doc='/doc/', version='1.0', title='My api',
description="My api")
在主应用程序文件上:
from flask import Flask
from werkzeug.contrib.fixers import ProxyFix
from lib.api import api_blueprint
app = Flask(__name__)
app.wsgi_app = ProxyFix(app.wsgi_app)
app.register_blueprint(api_blueprint)
还尝试添加:
app.config['SERVER_URL'] = 'http://testfsdf.co.za' # but it dont look like is being considered
使用烧瓶-restplus==0.9.2,
任何解决方案都会受到赞赏,只要我不需要在将部署服务的容器上进行配置(可以设置环境变量),即服务需要是自包含的。如果有一个我可以用 pip 安装的 flask-resplus 版本,那已经有一个我可以欣赏的修复程序。
非常感谢各位,