有时候我们需要把外网可以访问自己的内网,比如在微信公众号开发调用接口时为了方便调试就需要配置回调地址或者是想把自己的nas可以在不在家就能访问,这时候就需要内网穿透。
使用内网穿透主要有几种方式,1.使用内网穿透服务商提供的服务,但是这种需要付费,免费的话有很多限制而且还可能绑定不成功。2.自己搭建,自己搭建的话如果是单纯的想让外网访问只需要自己有一台外网服务器,如果是为了微信公众号开发调试则还需要一个域名。
1.下载frp
2.解压:
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
4.进入frp_0.45.0_linux_amd64
cd frp_0.45.0_linux_amd64
5.修改配置文件
vi frps.ini
内容如下:
[common]
#服务器的ip
server_addr = xxx.xx.xxx.xxx
#服务器配置的端口
server_port = 3030
#服务器配置的token(密码)
token = xxxxx
#这个案例是http网页的
[web]
#映射类型,详见frpc_full.ini
type = http
#需要映射的本地服务ip
local_ip = 192.168.1.7
#需要映射的本地服务端口
local_port = 6080
#映射绑定的域名,没有域名可以直接写你的服务器ip
custom_domains =nat.xxx.com
6.启动
nohup ./frps -c frps.ini & > /dev/null 2> /dev/null &
查看ps -ef | grep frp
7.在客户端(本地)配置frpc
1.从github下载frpc,下载后解压到文件夹里
8.配置frpc.ini
如下:
[common]
#服务器的ip
server_addr = xxx.xxx.xxx.xxx
#服务器配置的端口
server_port = 3030
#服务器配置的token
token = xxx
[web]
#映射类型,详见frpc_full.ini
type = http
#需要映射的本地服务ip
local_ip = 192.168.1.7
#需要映射的本地服务端口
local_port = 6080
#映射绑定的域名或服务器ip
custom_domains =nat.xxx.com
9.运行
10 配置服务端nginx
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream nat-server {
server xxx.xx.xxx.xxx:3031;
}
server {
listen 80;
server_name xxxx.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
redirect server error pages to the static page /50x.htmlerror_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.xxxx.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
redirect server error pages to the static page /50x.htmlerror_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name nat.xxxx.com;
proxy_set_header host $host:80;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection “upgrade”;
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
location / {
proxy_pass http://nat-server;
proxy_read_timeout 36000;
}
}
}
重新加载nginx配置
/usr/local/nginx/sbin/nginx -s reload
域名绑定
nat.xxxx.com
访问 xxxx.xxxx.xxxx:35000
数字存储示波器的工作原理和关键指标
架构模式的基础知识
针对苹果M1 MacBook Air电池的Zoom应用程序进行了测试
2009南非国际汽配展/南非汽配展
城市地下管廊综合环境监控系统的主要组成部分
手把手教你搭建内网穿透服务器
软件工程师如何规划职业路线
ChatGPT也能用来造芯,说说英语就可以了?
全国人大代表普诺思博首席科学家尧德中在两会谈移动机器人“卡脖子”问题
海美迪小Q真无线蓝牙耳机评测 值不值得买
嵌入式人工智能技术将赐予设备端更高的智能
平头哥发布首个自研RISC-V AI平台
大数据的4v特征有哪些 大数据技术包括哪些技术
采用PLC和变频器结合实现变频恒压供水系统的设计
国内市场竞争激烈,单飞的荣耀面临哪些发展困难?
Teledyne e2v的Emerald图像传感器推出了新品
用Riva和NeMo Megatron构建语音AI
RGB温度指示器的制作
我国集成电路产业与全球还存在哪些差距
安全多方计算技术解析