1,通达OA 发布到公网 ,要真正的 Anywhere
2,正版通达OA,有加密狗在本地机器上 ,通达必须检测有狗才可以运行
3,阿里云服务器 (你想往上插加密狗都没地方的说..汗)
4,本地ISP 不提供静态IP(动态IP也没有,就没给公网ip) 花生壳类的也不能用。
此为背景
咨询通达官方能得到的唯一答案就是“不行”,或者他们建议你购置一台机器插上加密狗, 托管在本地机房 。
这种解决方案着实不敢恭维,说句难听的话 人用盗版的不存在这个问题好不好,用正版想放公网 ,还要增加如此多成本。
看到这,使用盗版的朋友可以不用往下看了,盗版没狗 没这问题 ⊙﹏⊙b汗
方案如下:
1, 阿里云(win2003)上搭建VPN :管理工具-》路由和远程访问->配置 自定义只选中vpn-》完成
配置静态ip范围 192.168.10.1-192.168.10.255 注意别和本地的ip段冲突即可
2,阿里云上 用户管理创建 vpn登陆用户 ,创建好后,右键属性 拨入选项卡-》勾选允许访问和分配静
态ip 输入IP 如: 192.168.10.200
3,本地OA服务器上创建VPN连接,用户名和密码为上一步创建的win用户,连接成功后,在阿里云上访问
http://192.168.10.200 确认能访问oa
4,阿里云上下载phpsys ,配置nginx下nginx.conf server段修改为:
server {
#如开着IIS占用80就用非80端口
listen 90;
server_name oa.xx.com;
location / {
proxy_pass http://192.168.10.200/;
index index.php index.html index.htm;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
}
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ { #指定缓存文件类型
proxy_pass http://192.168.10.100;
index index.php index.html index.htm;
expires 7d; #设置浏览器过期时间
root cache; #所有的缓存文件都会保存在这里html等等
proxy_store on; #开启缓存机制
proxy_set_header Accept-Encoding '';
proxy_store_access user:rw group:rw all:rw; #缓存读写规则
proxy_temp_path cache_b; #存放静态文件的缓存目录
}
}
5,重启 Nginx ,打开网址 http://oa.xx.com:90 看看吧,已经成功了
6,为防止本地Vpn因网络不稳定等因素断开不能重播,可以使用下面的Vpn守护脚本:
@echo off
set MyConnection=Vpn连接名称
set MyUsername=vpn账号
set MyPassword=Vpn密码
::192.168.10.1 替换为你阿里云上获取的Vpn ip地址
ping 192.168.10.1 -n 1
if %ERRORLEVEL% neq 0 (
Rasdial %MyConnection% %MyUsername% %MyPassword%
echo 已经连接:%MyConnection%
echo 重拨vpn成功 %date% %time% >>VpnLog.txt
) else (
echo %MyConnection% 正常连接!
)
保存为 vpn.bat,将此脚本添加到windows计划任务,每10分钟执行一次。
Over, 完美运行。