Как настроить параметры прокси для веб-сайта в производстве

Я разработал веб-сайт на английском языке, и у меня есть следующие настройки прокси в файле proxy.conf.js.

const proxyConfig = [
  {
    context: '/web/api/webclients/**',
    target: 'https://10.109.102.109',
    changeOrigin: true,
    secure: false
  },
  {
    context: '/restful/**',
    target: 'https://10.109.110.190',
    changeOrigin: true,
    secure: false
  },
  {
    context: '/api/**',
    target: 'http://10.109.105.107',
    changeOrigin: true,
    secure: false
  }
];

Proxy.conf.js работает, как и ожидалось, в режиме разработки.

У меня есть это в файле package.json для запуска и сборки.

"build": "ng build --aot --prod",
"start": "ng serve --proxy-config proxy.conf.js -o",

После запуска "npm run build" и использования полученных файлов для размещения веб-сайта на IIS 8 страницы, на которых необходимо использовать параметры прокси-сервера, не работают.

Например, мой запрос https://localhost/web/api/webclients/authentication должен идти по https://10.109.102.109/web/api/webclients/authentication

Как настроить эти параметры прокси-сервера в IIS, если я размещаю этот веб-сайт на сервере Windows, или как настроить эти параметры прокси-сервера, если я размещаю его на сервере, отличном от Windows?

2 ответа

Я предполагаю, что вы уже получили ответ, но я все равно попытаюсь ответить на него, потому что это первый результат, когда он ищет "angular proxy iis".

proxy.conf.js Файл используется только при обслуживании приложения в режиме разработки. При сборке для производства сервер разработки не включается в выходные данные (и, следовательно, proxy.conf.js также не является частью выходных данных). Для производства вам необходимо заново настроить ваш веб-сервер (nginx, apache, IIS и т. Д.), Чтобы проксировать эти пути.

В частности, для IIS вам необходимо установить модуль ARR, прежде чем вы сможете установить правила прокси для своих бэкэндов. Посмотрите здесь подробный учебник о том, как правильно его настроить.

proxy.config не работает в режиме prod. Обратитесь к

Для вашего сценария подходит веб-сервер промежуточного ПО в качестве обратного прокси-сервера. Если вы не знаете, какой веб-сервер использовать, я рекомендую Nginx.

Вы можете сделать прокси-сервер, настроив его в своей конфигурации nginx.

nginx.conf

      location /api/ {
  proxy_pass      http://127.0.0.1:8087; 
  #all incoming http request with /api/ will be forwarded to http://127.0.0.1:8087/api/
}
Другие вопросы по тегам