2016-06-29 2 views
0

На моем главного сервера, я выборки данных из внешнего/индивидуального Redis сервера доступа к которой осуществляется через API https://localhost:7000/api/?token=****, который работает. Однако token и api не являются безопасными. И так как я хочу иметь сервер redis, чтобы быть отдельным, эта техника не подходит для моего случая.NodeJS - безопасно подключаться к внешнему серверу Redis

В моем случае я хочу иметь 2 независимых серверов и B.
следует загружать данные из B без использования апи или URL-адрес вызова ... Вместо этого следует использовать порт (например //server:123). Таким образом, сервер B может быть доступен только от A.

Я хочу, чтобы этот подход работал как для разработки, так и для производства. AWS имеет «Группу серверов» Я считаю, но это только производство ...


Так есть ли способ, чтобы создать этот вид связи с nodejs? Я также хочу знать, возможно ли это только с запущенным сервером, так как у меня его еще нет.

Примечание: В случае, если вам интересно, я использую Redis для хранения закрытых ключей для шифрования, так что мне нужен безопасный, отдельный сервер, который может управляться независимо

ответ

2

Не совсем понятно, что вы пытаетесь сделать, поскольку доступ к данным с другого сервера без использования API не имеет смысла. Все, что вы делаете для доступа к нему, это некоторый тип API.

Если вы хотите сделать так, чтобы только сервер А может получить доступ к серверу B, то у вас есть несколько вариантов, чтобы сделать это безопасно:

  1. Требовать проверку подлинности, когда сервер B доступен и сделать так, что только сервер A имеет эти учетные данные.

  2. Предполагая, что сервер A и сервер B находятся в одной и той же инфраструктуре сервера, поместите API сервера B в порт, который недоступен для внешнего мира, но доступен только из вашей инфраструктуры сервера (обычно это связано с выбором порт, на который ваш брандмауэр выходит наружу, блокирует доступ).

  3. На сервере А, принимать соединения только на его API от конкретного IP-адреса сервера Б.

Вы можете даже реализовать более чем один из этих вариантов сразу. Например, нередко использовать 1) и 2) вместе.

+0

Спасибо, для варианта 2 - насколько я понимаю, сервер B не имеет никакого доступа к url, поэтому мне нужно настроить сервер A для доступа к серверу B через порт. Как бы вы это делали в разработке, так как у меня нет готового/платного сервера, который можно настроить? В этом случае мне нужно загрузить сервер «Ubuntu» на моем компьютере? –

+1

@aloha_mate - Как вы думаете, «доступ через порт» - это не сервер или не использует URL-адрес? Мы не можем вам помочь, если мы не знаем, что это такое. – jfriend00

+0

Извините, я имею в виду сервер, который «недоступен для внешнего мира». Итак, вы предлагаете загрузить локальную сеть Ubuntu для управления этим? –

Смежные вопросы