Отфильтруйте заголовки HTTP и поместите их в теле в конечный пункт назначения - PullRequest
0 голосов
/ 11 ноября 2018

Во-первых, это не я пытаюсь получить заголовки из XmlHttpRequest и т. Д. В моем решении также есть уникальные элементы, что означает, что я не могу поместить серверную страницу перед моим решением.

По сути, блок-схема моего решения выглядит следующим образом:

enter image description here

Я хочу, в основном, прослушать заголовки HTTP-запроса к серверу NGINX, а затем отправить их по маршруту ./index.html NGINX, чтобы я мог получить их в своем коде TypeScript моего приложения Angular, затем используйте их для некоторых начальных вызовов к моим службам REST.

В настоящее время мой nginx-custom.conf выглядит следующим образом:

server {
  listen 80;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.html =404;
  }
}

enter image description here

Я не могу сделать так, чтобы вызов из WebSeal происходил более одного раза, и поэтому, по сути, я спрашиваю, как я могу извлечь заголовки в NGINX и затем использовать его в последующей прокси / сквозной передаче для моего текущего базового корня ,

1 Ответ

0 голосов
/ 11 ноября 2018

Что ж, nginx не может установить заголовки запросов и передать их вашим приложениям angularjs.

Что вы можете сделать, это переслать запрос, поступающий на nginx, на внутренний сервер, где вы можете хранить эти заголовки и управлять ими.

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

Пример - Любой запрос, соответствующий этому ^/my.url регулярному выражению, пересылается на бэкэнд по умолчанию http://$my_java_web_server вместе с зеркальным запросом к http://my.test1.server:8080; серверу.

location ~ ^/my.url {
  proxy_pass http://$my_java_web_server;
  proxy_set_header Host $my_java_web_server;
  ...

  post_action @post_for_first_mirroring;
  ...
}

location @post_for_first_mirroring {
  proxy_ignore_client_abort on;
  ...
  proxy_pass http://my.test1.server:8080;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...