我将 wildfly 部署到子域上的服务器上,并且 Nginx 是反向代理。为了保护我的连接,我强制 wildfly 通过 443 使用 https 和 letsencrypt ssl 证书:
在 standalone.xml 中,我创建了一个额外的套接字绑定条目。并且我添加了一个
<socket-binding name="https-external" port="443"/>
我更改了 http-listener 以将此 https-external 重定向为 https。
一切都运行正常,直到我尝试访问管理控制台时,我却无法登录。
我尝试通过添加带有 http="management-https“(默认情况下,它使用端口 9993 进行管理-https)但它不起作用。看来我遗漏了一些我无法弄清楚的东西。
ngnix 的 wildfly 子域名的“vhost”文件内容为:
upstream wildflyadmin {
server 127.0.0.1:9990;
}
upstream wildfly {
server 127.0.0.1:8080;
}
server {
server_name sub.domaine.com;
access_log /var/log/nginx/wildfly.access.log;
error_log /var/log/nginx/wildfly.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location / {
proxy_pass http://wildfly;
}
location /dashadmin/ {
proxy_pass http://wildflyadmin;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/domaine.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/domaine.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
答案1
在我使用 standalone.xml 的备份文件后发生了这种情况。默认情况下,wldfly 不允许外部访问其管理控制台。
因此管理接口应该改为 0.0.0.0 而不是 127.0.0.1
<interfaces>
<interface name="management">
<inet-address value="0.0.0.0"/>
...