问题的背景由于疫情的严重,要求在家办公,然后公司有vpn服务器,给员工vpn账号来在家办公。但是有两个问题,第一个问题是给的账号不多,每个人分不到一个。另一个问题是vpn客户端连接必须用widows系统,有一部分员工用的mac笔记本,没法安装软件。问题解决问题怎么解决?有两种方案:弄一台云服务器,把公司内部要用到的服务(比如数据库,应用服务)都挪到云服务器上,然后员工直接连接云服务器也是弄一台云服务器,在云服务器上安装一个vpn去连接内网,然后在云服务器上再安装一个代理软件,你要连接的内网服务(数据库,redis,应用服务器等),都通过代理转发到内网。毫无疑问第二种方案是比较好的,接下来我就带大家实现第二种方案。动手解决其实第二种方案主要就是找一个代理软件装到云服务器上就行了,有很多这样的软件,我这里用的是比较简单并且免费的反向代理软件nginx,说出这个名字相信很多程序员都大概知道怎么搞了。以下在云服务器上操作,或者把下载好的nginx拷贝到云服务上首先去官网 http://nginx.org/en/download.html 下载nginx,如下图选择合适的版本即可下载完成后解压,进入解压后的目录如下:进入conf目录,并打开nginx.conf文件(删除了无用的配置即以“#”开头的行),并加入stream部分stream {
    upstream oracle {
            server 192.168.10.121:1521;
    }
    # 服务器监听1521端口,并进来的流量转发到192.168.10.121服务器的1521端口
    server {
            listen 1521;
            proxy_connect_timeout 60s;
            proxy_timeout 60s;
            proxy_pass oracle;
    }
}加入后如下:events {
    worker_connections  1024;
}
stream {
    upstream oracle {
            server 192.168.10.121:1521;
    }
    server {
            listen 1521;
            proxy_connect_timeout 60s;
            proxy_timeout 60s;
            proxy_pass oracle;
    }
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}然后启动,以windows系统举例,收入代开CMD窗口,然后进入到nginx解压的目录里,执行如下命令:start nginx.exe然后你就可以在家用你的电脑通过连接"云服务器ip:1521",来实现连接到公司内网192.168.10.121:1521上面了。后续如果再加其他服务,就直接在ngnix.conf文件的stream模块里再加对应的upstream和server部分即可。总体下来还是很方便的。总结用此方法解决了公司vpn不够和mac电脑无法安装vpn客户端的问题。
本文出自快速备案,转载时请注明出处及相应链接。