Я относительно новичок в Python и создал микросервис, используя flask-resplus. Отлично работает на моем компьютере и на сервере разработки, обслуживаемом http. У меня нет контроля над тем, где можно развернуть микросервис. В этом случае кажется, что он находится за балансировщиком нагрузки (не уверен в деталях), обслуживаемым через https.
Фактические ошибки, выдаваемые браузером: Не удается прочитать с сервера. Он может не иметь соответствующих настроек источника управления доступом.
Когда я проверяю инструменты сетевого разработчика, я вижу, что он не загружает swagger.json. Но проверяет это, используя: http://hostname/api/swagger.json вместо https.
Я погуглил и наткнулся на обсуждение этой проблемы. И это казалось исправлением, которое могло работать без необходимости менять библиотеку или конфигурации на сервере.
Однако все же я не мог заставить его работать.
Вот что у меня есть:
в файле апи:
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
Используя flask-restplus==0.9.2,
Любое решение будет оценено, если мне не нужно настраивать контейнер, в котором будет развернута служба (я согласен с настройкой переменных среды), т.е. служба должна быть автономной. И если есть версия flask-resplus, которую я могу установить с помощью pip, в ней уже есть исправление, которое я могу оценить.
Большое спасибо, ребята,