Назад | Перейти на главную страницу

nginx в качестве обратного ssl-прокси для wildfly

Я пытаюсь настроить nginx в качестве обратного прокси для wildfly 8.0.0.Final.

Часть моего файла конфигурации для перенаправления HTTPS:

location /console {
  include          conf.d/proxy.conf;
  proxy_pass       http://127.0.0.1:9990/console;
  proxy_redirect   http://127.0.0.1:9990/console  https://X.Y.W.Z/console;
}
 ... similar location for...
/management
/logout
/error
... 

location / {
  include          conf.d/proxy.conf;
  proxy_pass       http://127.0.0.1:8080/;
}

proxy.conf:

proxy_set_header        Host            $host;
proxy_set_header        X-Forwarded-Proto $scheme;
add_header              Front-End-Https   on;

Проблема в том, что когда я вхожу в / console, я получаю сообщение об ошибке:

В доступе отказано: Недостаточно прав для доступа к этому интерфейсу.

Я даже не понимаю, чем это вызвано. Любая помощь приветствуется!

Марко, может быть, слишком поздно, но мне удалось заставить nginx и wildfly работать в соответствии с вашей конфигурацией, позвольте мне поделиться этим:

В proxy_headers.conf:

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;

В моем app.conf

location / {
   include conf.d/proxy_headers.conf;
   proxy_pass http://127.0.0.1:8080;
}

location /management {
   include conf.d/proxy_headers.conf;
   proxy_pass http://127.0.0.1:9990/management;
}

location /console {
   include conf.d/proxy_headers.conf;
   proxy_pass http://127.0.0.1:9990/console;
}

location /logout {
   include conf.d/proxy_headers.conf;
   proxy_pass http://127.0.0.1:9990/logout;
}

location /error {
   include conf.d/proxy_headers.conf;
   proxy_pass http://127.0.0.1:9990;
}

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

Возможно, немного поздно, но эта информация может помочь.

У меня такая же проблема с прокси-сервером Nginx (без SSL) и WildFly 8.2.0.Final в Docker. Та же ошибка при попытке доступа к Консоли администрирования через Nginx.

Обнаружено, что WildFly ожидает заголовок Host в виде HOST: PORT (путем сравнения заголовков из пакетов, захваченных с помощью tcpdump и проанализированных в Wireshark).

Вот моя конфигурация, если она кому-нибудь поможет:

upstream app-debug {
  ip_hash;
  server AA.BB.CC.DD:32862 max_fails=3 fail_timeout=20 weight=1;
}

server {
  listen 9990 default_server;
  location / {
    proxy_pass http://app-debug;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $server_addr:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
  }
}

Надеюсь это поможет.

Попробуйте добавить это в конфигурацию сервера:

add_header Cache-Control "no-cache, no-store";