未加星标

Ngrok服务端搭建与linux\mac\window客户端的编译

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏
wget https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.4.3.linux-amd64.tar.gz
ngrok 服务端 cd /usr/local
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
openssl genrsa -out rootCA.key 2048;
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=ngrok.dou2b.com" -days 5000 -out rootCA.pem;
openssl genrsa -out device.key 2048;
openssl req -new -key device.key -subj "/CN=ngrok.dou2b.com" -out device.csr;
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000;
//copy
cp -n rootCA.pem ../ngrok/assets/client/tls/ngrokroot.crt;
cp -n device.crt ../ngrok/assets/server/tls/snakeoil.crt;
cp -n device.key ../ngrok/assets/server/tls/snakeoil.key;
make release-server
客户端 windows cd /usr/local/go/src/
GOOS=windows GOARCH=386 CGO_ENABLED=0 ./make.bash
cd /usr/local/ngrok
GOOS=windows GOARCH=386 make release-client
客户端 linux make release-client
客户端 mac cd /usr/local/go/src/
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 ./make.bash
cd /usr/local/ngrok
GOOS=darwin GOARCH=amd64 make release-client
客户端 树莓派 cd /usr/local/go/src/
GOOS=linux GOARCH=arm CGO_ENABLED=0 ./make.bash
cd /usr/local/ngrok
GOOS=linux GOARCH=arm make release-client
运行 ./bin/ngrokd -domain=“ngrok.dou2b.com" -httpAddr=":80" -httpsAddr=":443"
//客户端
./ngrok -subdomain "rplees" -config ngrok.cfg 8080
ngrok.cfg配置:
server_addr: "ngrok.dou2b.com:4443"
trust_host_root_certs: false
//是绑定一个rplees.yy.xx.com到本地的8080端口,具体参数相见 ngrok -help
问题 用 go1.5 运行会有一些问题,改用1.4的 如果服务端本身就已经有80、443的端口被占用了,而ngrok映射的地址又不想其他的端口,这时候可以用docker解决(原理就是docker容器的80、433端口映射到服务器上的580、5443端口,在用nginx反向代理解决) docker部分

我的是centos环境 安装 。其他的请参考 官网

FROM ubuntu:14.04
MAINTAINER rplees [email protected]
ENV NGROK /usr/local/ngrok
ENV DOMAIN ngrok.dou2b.com
EXPOSE 80 443 4443
COPY bin/ngrokd $NGROK/
COPY run-ser.sh $NGROK/
RUN chmod +x $NGROK/run-ser.sh
CMD $NGROK/run-ser.sh

保存到Dockerfile

run-ser.sh #!/bin/bash
/usr/local/ngrok/ngrokd -domain ngrok.dou2b.com

保存到当前的Dockerfile路径的run-ser.sh

将 /user/local/ngrok/bin/ngrokd 拷贝到当前的Dockerfile路径的 bin/ngrokd

运行 docker build -t rplees/ngrokd . 等等执行完成.

执行 docker images 查看下现在的容器.

启动 docker run -d -p 580:80 -p 5443:443 -p 4443:4443 rplees/ngrokd:latest

docker ps -a 查看容器的状态

查看日志 docker logs <tag>

nginx 配置 map $scheme $proxy_port {
"http" "580";
"https" "5443";
default "580";
}
server {
listen 80;
listen 443;
server_name ngrok.dou2b.com *.ngrok.dou2b.com;
location / {
proxy_pass $scheme://127.0.0.1:$proxy_port;
}
ssl on;
ssl_certificate /usr/local/ngrok/assets/server/tls/snakeoil.crt;
ssl_certificate_key /usr/local/ngrok/assets/server/tls/snakeoil.key;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
log_not_found off;
}

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: Docker服务器CG
分页:12
转载请注明
本文标题:Ngrok服务端搭建与linux\mac\window客户端的编译
本站链接:http://www.codesec.net/view/484397.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(59)