通达OA 免狗迁移到公网 的另类解决办法

1,通达OA 发布到公网 ,要真正的 Anywhere
2,正版通达OA,有加密狗在本地机器上 ,通达必须检测有狗才可以运行
3,阿里云服务器  (你想往上插加密狗都没地方的说..汗)
4,本地ISP 不提供静态IP(动态IP也没有,就没给公网ip) 花生壳类的也不能用。
此为背景

  咨询通达官方能得到的唯一答案就是“不行”,或者他们建议你购置一台机器插上加密狗, 托管在本地机房 。
  这种解决方案着实不敢恭维,说句难听的话 人用盗版的不存在这个问题好不好,用正版想放公网 ,还要增加如此多成本。

看到这,使用盗版的朋友可以不用往下看了,盗版没狗 没这问题 ⊙﹏⊙b汗

 

苦思多日,也是凑巧近期经常用到的俩个东西 VPN 、Nginx,这俩东西组合正好解决了上面问题。

方案如下:

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段修改为:

[python] view plaincopy
  1. server {  
  2.     #如开着IIS占用80就用非80端口  
  3.         listen      90;  
  4.         server_name  oa.xx.com;  
  5.      
  6.         location / {  
  7.       
  8.            proxy_pass   http://192.168.10.200/;      
  9.                    index  index.php index.html index.htm;  
  10.            proxy_buffer_size 64k;  
  11.            proxy_buffers   32 32k;  
  12.            proxy_busy_buffers_size 128k;  
  13.         }  
  14.   
  15.     location ~.*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ {        #指定缓存文件类型  
  16.          proxy_pass   http://192.168.10.100;       
  17.             index  index.php index.html index.htm;  
  18.             expires 7d;      #设置浏览器过期时间  
  19.             root cache;      #所有的缓存文件都会保存在这里html等等         
  20.             proxy_store on;  #开启缓存机制  
  21.         proxy_set_header Accept-Encoding '';  
  22.             proxy_store_access user:rw group:rw all:rw;       #缓存读写规则  
  23.             proxy_temp_path cache_b;            #存放静态文件的缓存目录  
  24.         }       
  25. }  




5,重启 Nginx ,打开网址 http://oa.xx.com:90 看看吧,已经成功了

6,为防止本地Vpn因网络不稳定等因素断开不能重播,可以使用下面的Vpn守护脚本:

[plain] view plaincopy
  1. @echo off  
  2.     set MyConnection=Vpn连接名称  
  3.   set MyUsername=vpn账号  
  4.   set MyPassword=Vpn密码  
  5. ::192.168.10.1 替换为你阿里云上获取的Vpn ip地址  
  6. ping 192.168.10.1 -n 1     
  7. if %ERRORLEVEL% neq 0 (  
  8.    Rasdial %MyConnection% %MyUsername% %MyPassword%  
  9.   echo 已经连接:%MyConnection%  
  10.    echo 重拨vpn成功        %date% %time% >>VpnLog.txt  
  11.    ) else (  
  12.    echo %MyConnection% 正常连接!  
  13. )  





保存为 vpn.bat,将此脚本添加到windows计划任务,每10分钟执行一次。

 

Over,  完美运行。

posted @ 2013-08-02 00:48  浮云的等待  阅读(842)  评论(0编辑  收藏  举报