Как настроить параметры прокси для веб-сайта в производстве
Я разработал веб-сайт на английском языке, и у меня есть следующие настройки прокси в файле 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/
}