У меня есть Flask API и Swagger UI, сгенерированный с помощью Flask Restplus.API работает в контейнере Docker за контейнером Nginx, который обслуживает его по HTTP.
Вот конечная точка проверки работоспособности, которая подтверждает, что API работает: https://mobydq.net/mobydq/api/v1/health
{"message":"MobyDQ API running in production mode"}
Однако,Swagger, который должен загружаться по следующему URL, вообще не загружается: https://mobydq.net/mobydq/api/doc
Вот конфигурация Nginx:
http {
upstream api {
server api:5434;
}
upstream app {
server app:3000;
}
# Server for https
server {
listen 443 ssl http2;
server_name mobydq.net;
ssl_certificate /etc/letsencrypt/live/mobydq.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mobydq.net/privkey.pem;
# Location for MobyDQ Flask API
location /mobydq {
limit_req zone=default burst=20;
proxy_pass http://api;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Location for MobyDQ Web App
location / {
limit_req zone=default burst=20;
proxy_pass http://app;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# Default server to redirect http requests to https
server {
listen 80 default_server;
server_name mobydq.net;
listen [::]:80 default_server;
location ~ /.well-known {
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
}
Есть идеи, почему Swagger не загружается?Я просмотрел http запросы, отправленные при загрузке страницы, но это мало помоглоЯ вижу только загрузку избранного:
Я также посмотрел на консоль и увидел ошибку, но не могу сказать, что это значит: