2014-11-12 2 views
4

Я создаю RESTful API, доступ к которому возможен только TLS. Где должно быть реализовано SSL-соединение?SSL API RESTful или обратным прокси-сервером?

  1. от RESTful API сам, мой API написан в golang, который легко обрабатывает SSL.

  2. с помощью обратного прокси SSL, здесь я использую nginx.

Я бы предпочел использовать второй подход, потому что nginx обрабатывает кеширование и статические поставки лучше.

Должен ли я реализовать свой API HTTP только сейчас? На мой взгляд, система безопасна, пока nginx обратный прокси-сервер обслуживает только SSL, и мой API предоставляет себя только nginx.

Я не уверен, есть ли 3-й подход, хотя я поддерживаю только свой API SSL, а nginx прозрачно проходит через все запросы.

ответ

0

TL; DR: Я буду выбирать между 2-й или 3-й опцией, в зависимости от сценария. Если вы хотите опубликовать API в Интернете, никогда не выбирайте первый.

Самый безопасный вариант - третий: реализовать свой API, чтобы разрешать только SSL-соединения, и публиковать в Интернете с использованием обратного прокси-сервера в любом случае.

Плюсы, связанные с вашим API, будут защищены даже для внутренних соединений. Это даст вам защиту от внутренних злоумышленников. Концы - это дополнительная загрузка на вашем сервере для управления безопасностью SSL и может повлиять на производительность.

В любом случае, вы должны искать экономическую выгоду. Вот почему это будет зависеть от сценария. Например, если ваш API не будет доступен внутренними пользователями, но только для внутренних служб, а загрузка на сервере будет тяжелой, вы можете рассмотреть второй подход: обычная HTTP-передача внутренних сообщений и завершение SSL для Интернета.