frp+nginx内网穿透
frp+nginx内网穿透
背景:自己有台内网Linux主机,希望被外网访问(ssh、http、https);
准备工作
- 内网Linux主机-c,可以访问c主机和外网的主机-s(windows/linux)
- 官网下载nginx到s:https://nginx.org/en/download.html
- github上下载windows版frp到s:https://github.com/fatedier/frp/releases
- github上下载linux版frp到c:https://github.com/fatedier/frp/releases
s端配置步骤
- 配置nginx:
#443端口https请求反向代理
server {
#监听端口
listen 443 ssl;
server_name localhost;
#ssl自签证书请参考我另一篇文章 https://www.cnblogs.com/zhoux123/p/14753126.html
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#反向代理地址
proxy_pass http://localhost:8088;
}
}
- 配置
frps.ini:
[common]
#日志输出路径:默认控制台
#log_file = ./frps.log
#日志输出等级:trace, debug, info, warn, error(默认info)
#log_level = trace
#s端和c端建立连接绑定的端口,默认7000
bind_port = 7000
#此端口上的http请求将会转发到c端
vhost_http_port = 8088
- 启动nginx服务
- 启动c端frps服务:
./frps -c ./frps.ini,日志如下
2021/05/11 22:35:24 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
2021/05/11 22:35:24 [I] [service.go:235] http service listen on 0.0.0.0:8088
2021/05/11 22:35:24 [I] [root.go:209] frps started successfully
c端配置步骤
- 配置
frpc.ini:
[common]
#日志输出路径:默认控制台
#log_file = ./frpc.log
#日志输出等级:trace, debug, info, warn, error(默认info)
#log_level = trace
#s端地址
server_addr = 192.168.137.1
#s端和c端建立连接绑定的端口,默认7000
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
#默认22端口,termux为8022
local_port = 8022
remote_port = 6000
[http]
type = http
#s端的http请求将会转发到此端口
local_port = 8080
#s端地址,可同时设置多个,英文逗号隔开
custom_domains = localhost,127.0.0.1,192.168.137.1
- 启动c端frpc服务:
./frpc -c ./frpc.ini,日志如下:
2021/05/11 22:41:43 [I] [service.go:304] [02c28f30442a89bd] login to server success, get run id [02c28f30442a89bd], server udp port [0]
2021/05/11 22:41:43 [I] [proxy_manager.go:144] [02c28f30442a89bd] proxy added: [ssh http]
2021/05/11 22:41:43 [I] [control.go:180] [02c28f30442a89bd] [http] start proxy success
2021/05/11 22:41:43 [I] [control.go:180] [02c28f30442a89bd] [ssh] start proxy success
验证
找一台可以访问s主机的电脑验证:
- 验证ssh:
ssh root@192.168.137.1 -p 7000 - 验证http:
http://192.168.137.1:8088 - 验证https:
https://192.168.137.1或https://192.168.137.1:443
尊重原创,转载请标明出处,谢谢
frp+nginx内网穿透的更多相关文章
- 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公
当前情况下,经常会有需要到公司电脑进行一些操作,比如连接内网OA,数据库或者提交文档.为了减少外出,将使用frp进行内网穿透的方法进行一个说明. 前提条件 1. 一台拥有公网 IP 的设备(如果没有, ...
- 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问
原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...
- frp实现内网穿透
frp实现内网穿透 目标 通过外网访问内网设备,本文中实现通过手机的移动流量,可以访问到树莓派设备 设备准备 需要被访问的设备(本文中使用Raspberry Pi`).公网IP设备(本文中使用阿里云 ...
- 使用frp进行内网穿透,实现ssh远程访问Linux服务器
搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...
- frp 用于内网穿透的基本配置和使用
frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...
- 分享下超实用的用skura frp做内网穿透的经验
操作目的: 使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理 硬件准备: 1.服务端:skura frp主机(skura frp 免费提供,有待创建) 2.客户端:接在无线路由器(内网)上 ...
- 使用FRP做内网穿透
Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...
- 如何使用 frp 实现内网穿透
这有一个专注Gopher技术成长的开源项目「go home」 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了. ...
- 基于frp的内网穿透实例1-通过SSH访问内网机器
原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...
随机推荐
- 小甲鱼零基础入门学习python--课后作业
[小甲鱼零基础入门学习python--课后作业] 小甲鱼零基础入门学习python--课后作业 本章内容: 1.基础部分的作业 2.函数部分的作业 3.字典.集合.文件部分作业 4.异常 5.Easy ...
- tar cf XXX.tar /tmp /var 日志保存
tar cf XXX.tar /tmp /var 检测tar tf XXX.tar /tmp /var
- 10.7 netstat:查看网络状态
netstat命令 用于显示本机网络的连接状态.运行端口和路由表等信息. netstat命令的参数选项及说明 -r 显示路由表信息,该功能类似于前面学过的route 和ip route-g 显示多播功 ...
- .NET平台系列12 .NET未来之开源.NET Core
系列目录 [已更新最新开发文章,点击查看详细] 微软于2014年11月推出了.NET Core 1.0..NET Core的目标是从我们在过去12年中对.NET Framework的构建.交付 ...
- 解决mysql无法远程连接的问题
前言 最近开发中遇到一个问题,mysql在服务器本地可以登录,但是远程通过3306端口却不可以.这个问题困扰了我一周之久,终于在今天解决了.在解决的过程中试了很多的方法,遂记录下来,希望能给大家一些提 ...
- Go语言流程控制01--选择结构之if
package main import "fmt" /* 字符串比大小 比首字符在字符集中出现的序号,首字符相同则比较第二个字符,以此类推 go的编译器默认使用UTF8字符集 在U ...
- deeplearning模型库
deeplearning模型库 1. 图像分类 数据集:ImageNet1000类 1.1 量化 分类模型Lite时延(ms) 设备 模型类型 压缩策略 armv7 Thread 1 armv7 T ...
- TensorFlow实现多层感知机函数逼近
TensorFlow实现多层感知机函数逼近 准备工作 对于函数逼近,这里的损失函数是 MSE.输入应该归一化,隐藏层是 ReLU,输出层最好是 Sigmoid. 下面是如何使用 MLP 进行函数逼近的 ...
- 嵌入式Linux设备驱动程序:编写内核设备驱动程序
嵌入式Linux设备驱动程序:编写内核设备驱动程序 Embedded Linux device drivers: Writing a kernel device driver 编写内核设备驱动程序 最 ...
- 『动善时』JMeter基础 — 39、JMeter中如果(If)控制器详解
目录 1.什么是逻辑控制器 2.如果控制器介绍 3.如果控制器的使用 (1)测试计划内包含的元件 (2)如果控制器界面内容 (3)HTTP请求界面内容 (4)运行结果 4.如果控制器中表达式的写法 ( ...