文章正文
阿里云centos7下使用ngrok实现内网穿透-单机
【文章】2020-04-23
简介阿里云centos7下使用ngrok实现内网穿透-单机
准备工作:
1.阿里云服务器一台
2.备案域名一个
相关工具:
远程连接工具:xshell
安装ngrok
//安装go语言环境 yum install -y epel-release yum install golang //是否安装环境 go version //ngrok,未安装git,手动后上传 cd /home git clone https://github.com/inconshreveable/ngrok.git //解压 unzip ngrok-master.zip //配置ngrok访问域名 export NGROK_DOMAIN="xxx.com" //生成ngrok证书 cd ngrok-master openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.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 rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000 //覆盖原有的证书 \cp rootCA.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 GOOS=linux GOARCH=amd64 make release-server #编译服务端 GOOS=linux GOARCH=amd64 make release-client #编译客户端 GOOS=windows GOARCH=amd64 make release-client //各系统参数 #Linux 平台 32 位系统:GOOS=linux GOARCH=386 #Linux 平台 64 位系统:GOOS=linux GOARCH=amd64 #Windows 平台 32 位系统:GOOS=windows GOARCH=386 #Windows 平台 64 位系统:GOOS=windows GOARCH=amd64 #MAC 平台 32 位系统:GOOS=darwin GOARCH=386 #MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64 #ARM 平台:GOOS=linux GOARCH=arm //命令执行成功后,在bin下会生成两个文件 ngrok(客户端),ngrokd(服务端) //服务端的启动,注意domain代表域名,那这个域名就是之前定义环境变量时的域名 千万不要错。 ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="xxx.com" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" 参数说明: #-domain 访问ngrok是所设置的服务地址生成证书时那个 #-httpAddr http协议端口 默认为80 #-httpsAddr https协议端口 默认为443 #-tunnelAddr 通道端口 默认4443 启动日志略
二级域名的映射设置
客户端配置
将客户端ngrok
启动配置文件:
server_addr: "xxx.com:4443" trust_host_root_certs: false tunnels: sbm0: subdomain: ngroka proto: http: 80 sbm1: subdomain: adm proto: http: 80 sbm2: subdomain: img proto: http: 80 sbm3: hostname: "www.xxx.com" proto: http: 80 sbm4: hostname: "xxx.com" proto: http: 80 sbm5: remote_port: 2222 proto: tcp: 22 sbm6: subdomain: api proto: http: 80 sbm7: subdomain: test proto: http: 80 sbm8: subdomain: static proto: http: 80
nginx代理配置:
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. #include /etc/nginx/conf.d/*.conf; ## server { listen 80; server_name xxx.com *.xxx.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8090; } } server { listen 443; server_name xxx.com *.xxx.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8091; } } }
启动脚本-start.sh
nohup ./ngrok -config=ngrok.cfg start sbm0 sbm1 sbm2 sbm3 sbm4 sbm5 &
打赏支持
感谢您的支持,加油!
打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速查找!
在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!
在线客服8:30-22:30,若离线请留言!
热门阅读
-
高可用架构 第1卷 高可用架构社区著 北京:电子工业出版社 PDF 9787121314667 2017.pdf
高可用架构 第1卷 高可用架构社区著 北京:电子工业出版社 PDF 9787121314667 2017.pdf ...
-
数据仓库工具箱 维度建模权威指南 第3版 (美)金博尔,(美)罗斯著 北京:清华大学出版社 PDF 9787302385530 出版时间:2015.pdf
数据仓库工具箱 维度建模权威指南 第3版 (美)金博尔,(美)罗斯著 北京:清华大学出版社 PDF 9787302385530 出版时间:2015.pdf ...
-
Vue.js实战 梁灏 清华大学出版社 9787302484929 PDF_出版时间:2017年10月.pdf
Vue.js实战 梁灏 清华大学出版社 9787302484929 PDF_出版时间:2017年10月.pdf ...
-
普林斯顿微积分读本(修订版) 【美】阿德里安·班纳 人民邮电出版社 9787115435590 PDF_出版时间:2016年10月.pdf
普林斯顿微积分读本(修订版) 【美】阿德里安·班纳 人民邮电出版社 9787115435590 PDF_出版时间:2016年10月.pdf ...
-
轻松学习多线程编程 图解Java多线程设计模式结城浩Java线程书籍多线程编程技巧 结城浩著;侯振龙,杨文轩译 北京:人民邮电出版社 PDF 9787115462749 出版时间:2017.pdf
轻松学习多线程编程 图解Java多线程设计模式结城浩Java线程书籍多线程编程技巧 结城浩著;侯振龙,杨文轩译 北京:人民邮电出版社 PDF 9787115462749 出版时间:2017.pdf ...
-
Kafka权威指南/图灵程序设计丛书 (美)妮哈·纳克海德//格温·沙皮拉//托德·帕利诺|译者:薛命灯 人民邮电 9787115473271 PDF_出版时间:2018年01月.pdf
Kafka权威指南/图灵程序设计丛书 (美)妮哈·纳克海德//格温·沙皮拉//托德·帕利诺|译者:薛命灯 人民邮电 9787115473271 PDF_出版时间:2018年01月.pdf ...
-
PYTHON机器学习实践指南 (美)库姆斯著;黄申译 北京:人民邮电出版社 PDF 9787115449061 出版时间:2017.pdf
PYTHON机器学习实践指南 (美)库姆斯著;黄申译 北京:人民邮电出版社 PDF 9787115449061 出版时间:2017.pdf ...
-
量化投资:以Python为工具 蔡立耑 著 电子工业出版社 9787121305146 PDF_出版时间:2017年02月.pdf
量化投资:以Python为工具 蔡立耑 著 电子工业出版社 9787121305146 PDF_出版时间:2017年02月.pdf ...
-
Python机器学习经典实例 普拉提克·乔西著;陶俊杰,陈小莉译 北京:人民邮电出版社 PDF 9787115465276 2017.pdf
Python机器学习经典实例 普拉提克·乔西著;陶俊杰,陈小莉译 北京:人民邮电出版社 PDF 9787115465276 2017.pdf ...
-
开店方案,看这里!
开店方案,看这里! ...