如果 iPortal 安装包和服务代理的安装包分别部署在不同的机器上,在以上配置的基础上,还需通过 Nginx 进行代理转发,如果 Nginx 与 iPortal 部署在同一台机器上时,只需转发代理服务,如果 Nginx 与 iPortal 分别部署在不同的机器上时,Nginx 需要同时转发 iPortal 服务和代理服务。
- 启动并配置 Nginx,打开【nginx 安装路径】\conf\nginx.conf 文件,修改 http 节点下的 server 节点内容,以下是同时转发 iPortal 服务和代理服务的配置:
server {
listen 80;
server_name proxyserver.com;
location /{
proxy_pass http://192.168.120.40:8190;
proxy_set_header Host $host:80;
proxy_set_header X-Read-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 81;
server_name proxyserver.com;
location /{
proxy_pass http://192.168.112.172:8195;
proxy_set_header Host $host:81;
proxy_set_header X-Read-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
其中,第一个 server 是代理转发 iPortal 服务,第二个 server 是代理转发代理服务,通过 Nginx 代理转发后的 iPortal 服务与代理服务域名一致,从而保证代理服务可用。
- 修改 iPortal 安装包中 iportal.xml 配置文件,在<serviceProxy>节点下增加<proxyServerRootUrl>节点,具体配置如下:
<serviceProxy>
...
<port>8195</port>
<rootUrlPostfix>portalproxy</rootUrlPostfix>
<proxyServerRootUrl>http://proxyserver.com:81</proxyServerRootUrl>
...
</serviceProxy>
其中,http://proxyserver.com 为 Nginx 的 IP 或域名,81 为 Nginx 代理的指向 iPortal 代理服务的端口。
以上配置完成后,启动 iPortal 安装包和服务代理安装包,即可使用 iPortal 的服务代理功能。