sCH*_*een 2 nginx wildfly wildfly-10
我坚持在 AWS 上配置一个简单的反向代理。由于我们有一台主机(反向代理 nginx)提供公共访问服务,我决定遵循规则并创建以下配置。
server {
listen 9990;
server_name project-wildfly.domain.me;
access_log /var/log/nginx/wildfly.access.log;
error_log /var/log/nginx/wildfly.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
root /var/www/;
index index.html index.htm;
location /console {
proxy_set_header Host $server_addr:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Cache-Control "no-cache, no-store";
proxy_pass http://10.124.1.120:9990/console;
}
location /management {
proxy_set_header Host $server_addr:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Cache-Control "no-cache, no-store";
proxy_pass http://10.124.1.120:9990/management;
}
}
Run Code Online (Sandbox Code Playgroud)
这将为管理控制台提供服务,我可以使用用户登录。然后出现此消息:
拒绝访问
没有足够的权限访问此接口。
错误日志中没有任何内容。感谢您的任何提示!
小智 7
将 Wildfly 15 和 nginx 1.10.3 配置为反向代理时,我遇到了同样的问题。设置与第一篇文章非常相似,将 /management 和 /console 重定向到 wildflyhost:9990。
我能够直接通过 :9990 访问控制台,并且在比较直接流量和 nginx 代理流量之间的网络流量时,我注意到 Origin 和 Host 是不同的。
因此,就我而言,解决方案是强制 Nginx 中的 Origin 和 Host 标头达到 Wildfly 所期望的值。我在其他地方找不到这个解决方案,所以我将其发布在这里以供将来参考,尽管该线程很旧。
location /.../ {
proxy_set_header Host $host:9990;
proxy_set_header Origin http://$host:9990;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_request_headers on;
proxy_pass http://wildflyhost:9990
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3218 次 |
| 最近记录: |