API Manager 4.0:如何禁用9443端口并无端口访问Devportal/Publisher
在WSO2 API Manager 4.0中配置无端口访问Devportal和Publisher
要实现通过https://hostname/devportal和https://hostname/publisher替代带端口的访问,核心是用反向代理(以Nginx为例)将默认HTTPS端口443的请求转发到APIM的9443端口,同时修改APIM配置使其识别代理后的请求。
1. 配置Nginx反向代理
假设已安装Nginx并配置好SSL证书(证书路径自行替换),编辑Nginx配置文件(通常在/etc/nginx/sites-available/default),添加以下server块:
server { listen 443 ssl; server_name hostname; # 替换为你的实际域名 # SSL证书配置 ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; # 转发Devportal请求 location /devportal/ { proxy_pass https://localhost:9443/devportal/; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Real-IP $remote_addr; } # 转发Publisher请求 location /publisher/ { proxy_pass https://localhost:9443/publisher/; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Real-IP $remote_addr; } }
配置完成后重启Nginx生效:
sudo systemctl restart nginx
2. 修改WSO2 API Manager配置
编辑APIM安装目录下的repository/conf/deployment.toml文件,添加或修改以下配置:
# 配置代理端口(对应Nginx的443端口) [transport.https.properties] proxyPort = 443 # 配置APIM识别转发的请求头 [server] hostname = "hostname" # 替换为你的实际域名 forwardedHeaders.enabled = true forwardedHeaders.proxyHosts = ["localhost"] # Nginx所在服务器的IP或主机名 # 确保Devportal和Publisher的上下文路径正确 [apim.devportal] context = "/devportal" [apim.publisher] context = "/publisher"
3. 重启WSO2 API Manager服务
停止当前APIM服务后重新启动:
# 停止服务 <APIM_HOME>/bin/api-manager.sh stop # 启动服务 <APIM_HOME>/bin/api-manager.sh start
4. 测试访问
现在可直接通过https://hostname/devportal和https://hostname/publisher访问,无需指定9443端口。
内容的提问来源于stack exchange,提问作者seeandsea
相关产品推荐
相关产品推荐

