2016-01-09 18 views
0

Новый в WebLogic и NetScaler нужна помощь с архитектуройкак бы вы настройки SSL встык с WebLogic через NetScaler

Я хочу, чтобы выставить услугу на WebLogic к интернету, поэтому мобильные пользователи могут получить доступ к webservice.currently внутренний трафик работает нормально, когда пользователь непосредственно доступ на сайте, например, http://xxx.internal.local:7001

мне нужно иметь SSL включен встык для внутренних пользователей и внешних пользователей и возможность получить доступ к веб-сервиса внешне и внутренне

потока трафика

  • Внешний пользователь |||| < --HTTPS -> |||| NetScaler |||| < --https -> WebLogic Server
  • Внутренние пользователи подключаются непосредственно к WebLogic
  • Внутренние пользователи будут использовать https://xxx.internal.local:7002
    • (Private DNS и IP-адрес)
  • Внешние пользователи будут использовать https://xxx.external.com:443
    • (государственный DNS и IP-адрес)

SAN Cert (имеет локальный домен и внешний домен), установленный и импортированный в хранилище ключей Java.

Каков наилучший способ достичь этого?

Вещи, которые мы попробовали

NetScaler администратора настройки SSL Пропустите через на NetScaler - например, не расшифровывать и повторно шифровать и направляет 443 порт в 7002

установки CNAME во внутреннем DNS, чтобы указать xxx.external. ком в xxx.internal.local

  • внутренний трафик https://xxx.internal.local:7002 в порядке и зашифрованы
  • Внешний трафик не удалось, и ошибки Cert представил пользователям

Непонятно, как это должно быть настроено с наличием внешнего домена и внутреннего домена вместе с тем, чтобы netscaler выполнял SSL-мост - есть ли лучший способ сделать это - например, чтобы netscaler выгрузил SSL на VIP и re ncrypt вернуться к WebLogic и изменения HTTP заголовки узлов, чтобы соответствовать имя внутреннего домена (обратный прокси-сервер)

заранее спасибо

+0

Оба терминации SSL на балансировки нагрузки (с или без повторного шифрования бакэнду) и истинного конца в конец с прекращением SSL на сервере (с NetScaler vServer, установленным в режиме «SSL_BRIDGE») являются допустимыми параметрами. Вы можете обойтись без ошибок сертификата. Какой ты хочешь? И в отношении ошибок: если бы я должен был догадаться, тогда я бы сказал: клиент приходит через external.example.com, но получает сертификат из бэкэнд, который не включает это внешнее имя в его имена SAN. Можете ли вы дать более подробную информацию об ошибке? Скриншот? – StackzOfZtuff

+0

@StackzOfZtuff в конце с завершением ssl на бэкэнд - будет означать, что я должен изменить внутренний домен так же, как внешний, который невозможен на данном этапе. поэтому, если мы прекратим работу на балансировщике нагрузки и расшифруем бэкэнд, как это будет работать? выполняет ли netscaler изменение заголовков хостов для запросов и ответов обратно пользователю, так как это будет другим? также я предполагаю, что вам нужно будет установить публичный сертификат в NLB, а также в weblogic. могу ли я использовать тот же сертификат, поскольку в нем существует сертификат SAN с внутренним и внешним доменом? – Codebug

ответ

0

SAN Cert (имеет локальный домен и внешнего домена) установлен и импортирован в WebLogic ключ Java Магазины.

Это должно означать, что это самоподписанный сертификат, который вы создали как поставщик сертификатов, не разрешающий локальный домен в сертификате.Это означает, что он не будет распознаваться внешними браузерами, поскольку они не распознают самоподписанные сертификаты, созданные вашей компанией. Если у вас нет внешнего сертификата, который поэтому работает для обоих?

NetScaler администратора настройки SSL Пропустите через на NetScaler - например, не расшифровывать и повторно шифровать и направляет 443 порт 7002

Это не будет работать по той же причине. Ваш сервер отправит внутренний сертификат обратно с сервера.

имеет NetScaler выгрузки SSL на VIP и повторно NCrypt обратно WebLogic и изменения HTTP заголовков узлов, чтобы соответствовать доменному имени внутреннего (обратным прокси)

Это то, что вы должны сделать. Купите сертификат для внешнего домена, а затем используйте внутренне выданный самозаверяющий сертификат для внутреннего домена.

В качестве альтернативы можно использовать одно и то же имя домена как внутри, так и снаружи, а затем использовать тот же сертификат для обоих или использовать проход. С помощью этой настройки вы можете иметь внешний DNS, указывающий на LoadBalancer, и внутренне указывать непосредственно на веб-сервере, если хотите.

+0

У нас фактически есть публичный сертификат SAN, который имеет как внутренний домен, так и внешний домен CN имеет домен ext, а SAN имеет как int, так и ext domain.i понимают, что поставщики сертификатов не делают этого больше, но, к моему удивлению, они это сделали. Поскольку внутренний трафик уже использовался и в Prod. изменение внутреннего имени домена на данном этапе невозможно. поэтому он выглядит как опция, с которой я остаюсь, - это обратный прокси-сервер с изменением заголовков хостов HTTP в netscaler и перекодирование трафика обратно в weblogic. у вас также есть изменение HTTP-заголовков ответов? nvr сделал это, как бы это работало – Codebug

+0

Должно ли все автоматически заботиться о балансировщике нагрузки. Это довольно распространенный случай использования. Однако, если это тот же сертификат, то через SSL следует также работать, так как ваш веб-сервер будет предоставлять сертификат на основе неправильного домена, но это также будет сертификатом для правильного домена. Но обратный прокси, вероятно, лучше, поскольку вы сомневаетесь, что сможете получить такой сертификат снова в будущем. Какая ошибка сертификата в последний раз, когда вы пытались? –

0

Спасибо всем за отзыв. Испытуемое рабочее решение было следующим.

  • Один публично генерироваться серт SAN (который, Ва домен и внутреннюю область в записи SAN), установленные на NetScaler и сервера WebLogic

  • Внешние пользователи будут использовать внешний домен URL «https://xxx.external.com:443» Внешний Трафик SSL завершится в Netscaler, расшифрованном и повторно зашифрованном, обратно на внутренний сервер weblogic на порту 7002. Netscaler также изменит заголовок хоста HTTP в запросе на внутреннее имя хоста также изменит ответ заголовков хоста Http для внешнего имени хоста.

  • Внутренние пользователи будут использовать только внутренний домен URL-адрес, например https://xxx.internal.local:7002

  • Cert провайдеров DonT выдавать сертификаты с внутренними доменами больше, как я понимаю, следовательно, это не может работать для вас. но я думаю, чтобы обойти эту проблему. вы можете создать внутренний сертификат CA с внутренним именем домена. установить на сервере weblogic и netscaler. Купите общедоступный сертификат с внешним доменным именем и установите на Netscaler. поэтому внешний трафик будет использовать сертификат Public для аутентификации трафика, а внутренний трафик будет зашифрован с помощью внутреннего Cert.

0

Здесь приведены шаги для его архивирования.

Шаг1: Добавить IP в NetScaler (если у вас есть более чем 1 сервер WebLogic, добавьте всего один раз на один)

Шаг2: Создать сервер, используя внутренний IP каждого сервера (например, WebLogic_Svc1, WebLogic_Svc2)

Шаг 3: Создайте сервис, используя внутренний IP-адрес сервера.(Используйте порт № 7002, где у вас есть функциональность)

Этап 4: Связать сертификат, используемый в WebLogic для обслуживания выше.

Step5: Теперь вы можете изменить монитор для использования SSL (Вы можете оставить монитор по умолчанию для протокола TCP монитора, а Убедитесь, port7002 открыт с СНИПА на ваш WebLogic иначе сервис будет продолжать показывать вниз.)..

Шаг 6: Если вы видите WebLogic_Svc1, WebLogic_Svc2, мы можем перейти к последним двум шагам.

Шаг7: Создайте LB VServer xxx.external.com с использованием маршрутизируемого открытого IP-адреса, который будет размещать и использовать порт # 443.

Step8: Связать общедоступную пару SSL CertKey с надписью LB Vserver. (Убедитесь, что внешний SSL CertKey связан с соответствующим промежуточным и корневым сертификатом. Ваш публичный поставщик сертификатов предоставит вам промежуточный и корневой сертификат. Если вы этого не сделаете, ваш публичный сертификат все равно не будет распознан броузерами как подбородок доверия не будет заполнено.)

Шаг 9: Привязать к двум сервисам к LB VServer xxx.external.com.

Если вышеуказанные шаги слишком трудно для вас, чтобы следовать, см следующий YouTube видео from Andrew (theurbanpenguin)