Вот как я это решил. Пришлось отредактировать файл nginx.conf, чтобы настроить апстрим вместо перенаправления его на http напрямую, и удалил несколько заголовков, которые были установлены. Понятия не имею, насколько он отличается или почему это работает. Вся настройка выполняется в Docker Swarm.
#### SECAPI #####
upstream app_server {
# for a TCP configuration
server evee:8000 fail_timeout=0;
}
server {
keepalive_timeout 5;
listen 443 ssl;
server_name api.home.com;
client_max_body_size 4G;
error_page 500 502 503 504 /500.html;
# path for static files
root /opt;
location / {
# checks for static file, if not found proxy to app
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;
proxy_pass http://app_server;
}
}
Любая хорошая книга алгоритмов будет иметь главу или два на важности выбора правильных структур данных. Я рекомендую следующие книги:
Я также рекомендую проверить Каменный Репозиторий Алгоритма Ручья, особенно лекции.
Хорошая книга (работал на меня):
Структуры данных и анализ алгоритма в Java (второй выпуск)
Опубликованный Addison-Wesley, 2007
ISBN: 0-321-37013-9
Вы в основном просите то, что программист весь день делает: данные Потока через определенные алгоритмы таким способом, которым Вы получаете результат, который Вы хотите своевременно. Я предлагаю, чтобы Вы загрузили Python и работали через учебные руководства. Python позволяет Вам тестировать свои идеи очень быстро.
Для ответа на мой собственный вопрос кажется, что я просто должен читать на большом количестве вариантов использования реального мира и алгоритмов.
Что касается книг, я заказал
Перейдите на эти веб-сайты и попробуйте решить проблемы:
У них есть проблемы, чтобы удовлетворить вас по крайней мере в течение следующих 3-4 лет.