Ubuntu+Apache环境下如何对外暴露FusionAuth并支持多应用配置?
问题解答
一、如何在生产环境访问fusionauth.my-domain.com:9011完成安装
要在生产环境通过域名加端口访问FusionAuth,需完成以下步骤:
开放端口权限
- 服务器本地防火墙(Ubuntu默认用ufw)开放9011端口:
sudo ufw allow 9011/tcp sudo ufw reload - 若使用云服务器,需在云服务商的安全组规则中添加允许外部访问9011端口的入站规则。
- 服务器本地防火墙(Ubuntu默认用ufw)开放9011端口:
修改FusionAuth监听配置
默认DEB包安装的FusionAuth仅绑定localhost,需调整配置允许外部访问:- 编辑FusionAuth配置文件:
sudo nano /usr/local/fusionauth/config/fusionauth.properties - 找到
fusionauth-app.http.address配置项,将值从127.0.0.1改为0.0.0.0(允许所有IP访问),示例配置片段:fusionauth-app.http.port=9011 fusionauth-app.http.address=0.0.0.0 - 重启FusionAuth服务:
sudo systemctl restart fusionauth-app - 确认服务正常运行:
sudo systemctl status fusionauth-app
- 编辑FusionAuth配置文件:
完成以上操作后,即可通过浏览器访问fusionauth.my-domain.com:9011进入安装配置界面。
二、Apache反向代理支持多应用ID的配置方式
不能直接复制粘贴单应用规则,需针对不同应用ID的回调路径做针对性代理配置,推荐两种清晰的实现方式:
方式1:使用RewriteRule匹配多应用路径
<VirtualHost *:80> ServerName fusionauth.my-domain.com RewriteEngine On ProxyRequests Off # 代理第一个应用的OAuth2回调路径 RewriteRule ^/oauth2/callback/app-id-1$ http://localhost:9011/oauth2/callback/app-id-1 [P,L] # 代理第二个应用的OAuth2回调路径 RewriteRule ^/oauth2/callback/app-id-2$ http://localhost:9011/oauth2/callback/app-id-2 [P,L] # 代理所有其他FusionAuth核心路径 RewriteRule ^/(.*)$ http://localhost:9011/$1 [P,L] ProxyPassReverse / http://localhost:9011/ </VirtualHost>
方式2:使用Location块分应用配置(更易维护)
<VirtualHost *:80> ServerName fusionauth.my-domain.com ProxyRequests Off # 代理第一个应用的OAuth2回调 <Location "/oauth2/callback/app-id-1"> ProxyPass http://localhost:9011/oauth2/callback/app-id-1 ProxyPassReverse http://localhost:9011/oauth2/callback/app-id-1 </Location> # 代理第二个应用的OAuth2回调 <Location "/oauth2/callback/app-id-2"> ProxyPass http://localhost:9011/oauth2/callback/app-id-2 ProxyPassReverse http://localhost:9011/oauth2/callback/app-id-2 </Location> # 代理FusionAuth所有其他路径 <Location "/"> ProxyPass http://localhost:9011/ ProxyPassReverse http://localhost:9011/ </Location> </VirtualHost>
配置后收尾操作
- 确保Apache已启用必要模块:
sudo a2enmod proxy proxy_http rewrite - 重启Apache服务使配置生效:
sudo systemctl restart apache2
内容的提问来源于stack exchange,提问作者Javier Gonzalez Moncayo
相关产品推荐
相关产品推荐

