WildFly+Nginx反向代理域名访问失败及控制台无法访问求助
问题排查与解决方案
一、先恢复WildFly控制台访问
修正WildFly绑定地址
WildFly默认控制台仅监听127.0.0.1,需修改配置开放公网访问:- 打开WildFly目录下的
standalone/configuration/standalone.xml - 找到
<interfaces>节点,将<interface name="management">内的地址改为0.0.0.0或服务器公网IP:<inet-address value="${jboss.bind.address.management:0.0.0.0}"/> - 确认
<socket-binding-group>里的management-http端口仍为9990 - 重启WildFly服务:
systemctl restart wildfly(若用systemd管理)
- 打开WildFly目录下的
本地验证控制台状态
在服务器执行curl http://localhost:9990,若能返回内容则服务正常;若失败,查看standalone/log/server.log日志排查启动报错。
二、解决Nginx「conflicting server name」警告
该警告源于多个server块使用了相同域名,按以下步骤清理:
- 检查Nginx配置文件
- 查看
/etc/nginx/nginx.conf及/etc/nginx/sites-enabled/下所有文件 - 删除重复的
server_name itcmedbr.com;或server_name www.itcmedbr.com;配置块,仅保留一组
- 查看
- 验证并重启Nginx
执行nginx -t确认配置无错,再重启服务:systemctl restart nginx
三、配置Nginx反向代理(解决域名访问连接重置)
创建或修改站点配置文件(如/etc/nginx/sites-available/itcmedbr.com.conf),内容如下:
# HTTP强制跳转HTTPS server { listen 80; server_name itcmedbr.com www.itcmedbr.com; return 301 https://$server_name$request_uri; } # HTTPS代理到WildFly server { listen 443 ssl; server_name itcmedbr.com www.itcmedbr.com; # 替换为Certbot生成的实际证书路径 ssl_certificate /etc/letsencrypt/live/itcmedbr.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/itcmedbr.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; 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; } }
- 启用配置:
ln -s /etc/nginx/sites-available/itcmedbr.com.conf /etc/nginx/sites-enabled/ - 验证重启:
nginx -t && systemctl restart nginx
四、额外验证项
- 用
nslookup itcmedbr.com确认域名已解析到服务器公网IP - 检查云服务器安全组(若适用),确保80、443端口已开放
- 查看Nginx错误日志
/var/log/nginx/error.log和WildFly日志,排查具体连接错误
内容的提问来源于stack exchange,提问作者Cezar Apulchro
相关产品推荐
相关产品推荐

