(Первоначально спросил на StackOverflow, и рекомендовал переместить сюда)
Я просматривал документацию для Эластичный поиск и я большой fan, и я хотел бы использовать его для поиска моего приложения ASP.NET MVC.
Однако здесь есть несколько интересных моментов. Если бы приложение ASP.NET MVC находилось на выделенном компьютере, было бы просто разместить экземпляр Elastic Search и использовать TCP Транспорт для подключения локально.
Однако я не использую выделенный компьютер для приложения ASP.NET MVC, и не похоже, что я перейду на него в ближайшее время.
Это оставляет хостинг Elastic Search на другом компьютере (в мире * NIX), и я, вероятно, выбрал бы общий хостинг там.
Однако одна из самых больших вещей, которых не хватает в Elastic Search, - это то, что он не поддерживает HTTPS и базовую аутентификацию из коробки. Если бы это было так, то этого вопроса не существовало бы; Я бы просто разместил его где-нибудь и удостоверился, что у вас есть невероятно безопасный пароль и включен HTTPS (возможно, с самозаверяющим сертификатом).
Но это не так.
Учитывая это, каков хороший способ безопасного доступа к эластичному поиску в Интернете?
Обратите внимание: я ищу что-то, что, надеюсь, не потребует написания кода для предоставления прокладок для методов, которые мне нужны (другими словами, написание серверов пересылки).
Вы можете настроить SSH туннель между двумя машинами и передавайте свои данные через него. Или вы можете использовать станнель для настройки туннеля SSl. В обоих случаях шифрование будет прозрачным для обеих машин, оба приложения не будут знать об этом, поэтому изменение кода не требуется.
Я знаю, что это действительно старый вопрос, но правила брандмауэра, похоже, подходят. Я полагаю, что в наши дни даже в общей среде у вас должен быть доступ к правилам брандмауэра. Это наш путь. Блокировка доступа только с других доверенных машин.