Рейтинг:0

Настройте локальные службы для работы в одном домене с Nginx.

флаг cn

В одном домене развернуты 2 разных веб-сервера (example.com и api.example.com).

я хочу использовать httpТолько файлы cookie, используемые на этих двух сайтах.

Есть такая локальная конфигурация:

  1. https://local.example.com + IIS Express + ASP MVC
  2. https://локальный:8888 или же https://api-local.example.com:8888 + ядро ​​.net

В конце концов, есть много ограничений, которые нельзя обойти:

  • изменить доменные имена
  • разместить оба приложения в одном IIS

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

  • https://local.example.com:943 к https://local.example.com
  • https://api-local.example.com:943 к https://api-local.example.com:8888

Обычно это работает для API ядра .net, и я могу использовать Postman для запроса данных через самозаверяющий сертификат Nginx.

Но я не могу заставить его работать для IIS. Chrome показывает предупреждение и блокирует сайт

Я использую такую ​​конфигурацию nginx

События {}

http {
  сервер {
    слушать 943 ssl;
    слушать [::]:943 ssl;
    имя_сервера api-local.example.com;

    ssl_certificate /etc/nginx/ss.crt;
    ssl_certificate_key /etc/nginx/ss.key;

    место расположения / {
      proxy_pass https://host.docker.internal:8888;
      proxy_set_header Хост $host;
    }
  } 

  сервер {
    слушать 943 ssl;
    слушать [::]:943 ssl;
    имя_сервера пример.com;

    ssl_certificate /etc/nginx/ss.crt;
    ssl_certificate_key /etc/nginx/ss.key;

    место расположения / {
        proxy_pass https://host.docker.internal;
        proxy_set_header Хост $host;
    }
  } 
}

и сгенерировать ключ примерно так:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ss.key -out ss.crt -config san.conf


// сан.конф

[требуется]
биты по умолчанию = 2048
default_keyfile = сс.ключ
отличительное_имя = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_ca

[req_distinguished_name]
countryName = название страны (двухбуквенный код)
countryName_default = США
stateOrProvinceName = название штата или провинции (полное название)
stateOrProvinceName_default = Нью-Йорк
localityName = Название местности (например, город)
localityName_default = Рочестер
OrganizationName = Название организации (например, компания)
имя_организации_по умолчанию = local.example.com
organizationUnitName = организационная единица
organizationUnitName_default=Развитие
commonName = Общее имя (например, полное доменное имя сервера или ВАШЕ имя)
commonName_default = local.example.com
общееИмя_макс = 64

[req_ext]
subjectAltName = @alt_names

[v3_ca]
subjectAltName = @alt_names

[alt_names]
DNS.1 = local.example.com
DNS.2 = api-local.example.com

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.