【适用版本】
s-HR Cloud V8.6 SP1及以上
问:一些客户的s-HR服务器都是部署在企业内网的,想在内网注册云服务或者查看组织架构架构图是必然不行的。那是不是就意味着在内网就没办法注册云服务了呢?
答:在内网可以注册云服务。方案之一是使用nginx代理软件,在组网上做些文章。单独将一些访问云服务的请求代理到外网去也就是s-HR的云服务。
知识点:正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。
解决方案及原理
按下面步骤实施方案:
1. 准备一台普通服务器(不需要小型机级别的。有实施问怎么准备?!新采购或者让客户那边管IT硬件的部门挪一台出来!)。
2. 关键步骤:将该服务器架设在内外网双通的环境中,也就是说该服务器必须能被外网访问到,并且能够访问内网的s-HR服务器(这个步骤需要协调客户的IT部门相关的人一起处理,客户的IT人员应该都已经有服务器IP的规划,一般不让外人碰这事情)。
3. 装上linux系统(centos或者rhel的都可以。尽管nginx有window版本,但是nginx在linux下表现会好会更稳定,所以这里直接推荐上linux)。
4. 给该服务器分配一个公网IP(或者外网域名),该服务器防火墙配置上开放一个端口(如80)
5. 下载安装nginx软件(这个nginx官网上说的很清楚:http://nginx.org/en/download.html )。
6. 配置nginx,将访问nginx的http请求代理转发到s-HR的云服务。
打开nginx.conf,找到server配置区域,并添加红色的配置段:
server {
listen 80;
server_name shrstore.kingdee.com;
location /static/gojs/go.js{
proxy_pass http://shrstore.kingdee.com/static/gojs/go.js;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
保存编辑的配置项,执行 /nginx -s reload 重新刷新配置内容