运营商越来越不厚道,现在已成了10段,DDNS都用不了,手动再见.jpg。SSH反向代理我比较熟悉,但没研究过其和ngrok哪个好。先试试ngrok。

CentOS自带的Git版本比较低,建议先升级。

yum remove git
cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.8.2.tar.gz
tar xzf git-2.8.2.tar.gz
cd git-2.8.2
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo"export PATH=$PATH:/usr/local/git/bin">> /etc/bashrc
source /etc/bashrc
git --version

附:Git安装参考

然后安装必要的组件。

yum install build-essential golang mercurial

下载ngrok。

cd ~/
# 官方地址 https://github.com/inconshreveable/ngrok.git
# 建议使用下面的地址,修复了某些无法访问的包地址
git clone https://github.com/tutumcloud/ngrok.git ngrok
cd ngrok

生成并替换ngrok的默认证书。

export NGROK_DOMAIN="test.com"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
cp base.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key

编译。

make release-server release-client

ngrok/bin 目录下的 ngrok、ngrokd 分别为客户端和服务端文件。

启动。

/root/ngrok/bin/ngrokd -domain="test.com" -httpAddr=":2333"

附:ngrok安装参考