由于疫情的嚴重,要求在家辦公,然后公司有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客戶端的問題。






