广州哪家做网站还可以,黑龙江省建设厅网站的电话,电商做网站,网站域名跳转1我的目标#xff1a;实现通过域名访问局域网tomcat服务#xff0c;域名访问方便本地微信调试2思路#xff1a;#xff08;1#xff09;用服务器搭建内网穿透利用FRP实现穿透#xff0c;frp 是一个专注于内网穿透的高性能的反向代理应用#xff0c;支持 TCP、UDP、HTTP、…1我的目标实现通过域名访问局域网tomcat服务域名访问方便本地微信调试2思路1用服务器搭建内网穿透利用FRP实现穿透frp 是一个专注于内网穿透的高性能的反向代理应用支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。域名映射到服务器nginx 443端口服务器nginx443 转发到 服务器的 FRP 服务端28700端口自定义的服务器的 FRP 服务端7000端口 连接 局域网本机 FRP 客户端7000端口局域网本机 FRP 客户端 转发到 本机服务80端口详细搭建教程见后文2通过宽带找运营商免费申请公网IP路由或猫有了拨号后即可获得公网IP再由路由或猫映射到内网机器端口由于普通宽带是动态IP所以如果要全自动切换或查询则需要动态获取IP思路如下可以通过路由APP获得或者通过IP查询网站如果需要域名映射到IP时刻保持动态更新可以调用阿里云接口实现现成工具https://github.com/xuchao1213/AliyunDdnsCSharp但是域名映射更换毕竟有10分钟延迟也可以通过程序将IP写到网上某个位置比如对象存储、gitee如果用对象存储可以实现网页自动跳转3通过现成内网穿透软件比如花生壳natapp想要速度快、域名固定则需要付费免费速度很慢域名总变3利用服务器搭建FRP流程思路流程见上文2.11域名映射到服务器IP2nginx监听域名并转发到服务器FRP我需要用https协议所以监听443端口并转发到FRP服务端IP:28700server {listen 443 ssl;server_name 你的域名;root html;index index.html index.htm;ssl_certificate cert/你的域名证书.pem;ssl_certificate_key cert/你的域名证书.key;ssl_session_timeout 60m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#表示使用的加密套件的类型。ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型您需要自行评估是否配置TLSv1.1协议。ssl_prefer_server_ciphers on;location / {#root /usr/share/nginx/html/; #Web网站程序存放目录。#index index.html index.htm;proxy_pass http://FRP服务端IP:28700/;proxy_redirect http:// $scheme://;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}3服务器用docker 搭建FRP的服务端服务器新建frps.ini配置文件[common]
bind_port 7000
vhost_http_port 28700authentication_method token
authenticate_new_work_conns true
token 12345628700端口用于接收nginx转发的访问请求7000端口用于frp服务端接收请求后 与 内网frp客户端的7000通信token是自定义秘钥用于安全校验在服务器上通过docker拉取FRP的服务端并启动docker run --name frps -d -p 28700:28700 -p 7000:7000 -v /docker/frp/frps.ini:/etc/frp/frps.ini -v /etc/localtime:/etc/localtime:ro -e TZAsia/Shanghai snowdreamtech/frps4windows本机FRP客户端搭建我用的frp_0.46.0_windows_386.zip也可以从这里下载https://download.csdn.net/download/yfx000/87524710然后新建frpc.ini[common]
server_addr 服务器公网IP
server_port 7000authentication_method token
authenticate_new_work_conns true
token 123456[web]
type http
local_port 80
custom_domains 域名7000用于与服务器保持通信80端口为本机服务端口域名是最上面那个域名然后cmd下启动frp客户端也可以保存为bat方便启动frpc.exe -c frpc.ini这样就实现了域名访问到本机80端口服务4、frp内网穿透的各种场景帮助文档详见https://gofrp.org/docs/examples/ssh/通过 SSH 访问内网机器这个示例通过简单配置 TCP 类型的代理让用户访问到内网的服务器。通过自定义域名访问内网的 Web 服务这个示例通过简单配置 HTTP 类型的代理让用户访问到内网的 Web 服务。转发 DNS 查询请求这个示例通过简单配置 UDP 类型的代理转发 DNS 查询请求。转发 Unix 域套接字这个示例通过配置 Unix域套接字客户端插件来通过 TCP 端口访问内网的 Unix域套接字服务例如 Docker Daemon。对外提供简单的文件访问服务这个示例通过配置 static_file 客户端插件来将本地文件暴露在公网上供其他人访问。为本地 HTTP 服务启用 HTTPS通过 https2http 插件可以让本地 HTTP 服务转换成 HTTPS 服务对外提供。安全地暴露内网服务这个示例将会创建一个只有自己能访问到的 SSH 服务代理。点对点内网穿透这个示例将会演示一种不通过服务器中转流量的方式来访问内网服务。5、资源汇总1docker frp项目地址项目地址https://github.com/snowdreamtech/frpDockerHubhttps://hub.docker.com/r/snowdreamtech/frpshttps://hub.docker.com/r/snowdreamtech/frpc2FRP项目地址https://github.com/fatedier/frp/releases3中文帮助文档https://gofrp.org/docs/examples/ssh/