Я пытаюсь настроить 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";