frp+nginx以代理方式做内网穿透,并做成windows服务开机自启

(一)部署前提

1、要素与工具

条件下载地址描述
公网网址外部正常访问的网址
两个公网开放端口传输请求信息的接口
公网服务器做为中转服务器
内网服务器做为项目部署服务器
nginxhttp://nginx.org/en/download.html代理工具
frphttps://github.com/fatedier/frp/releases内网穿透工具
winswhttps://github.com/winsw/winsw/releases做成Windows服务的工具(非必须)

2、安装与配置

服务器安装工具描述
公网代理服务器frp(frps)、nginx、winsw做对外访问和穿透配置
内网项目服务器frp(frpc)、winsw做穿透对接配置

(二)配置公网代理服务器

1、配置nginx

配置文件目录:nginx安装目录下的 打开conf中nginx.conf
相关配置:

#第一个项目内网渗透的代理配置;
	server {
#设置项目可上传文件大小10000M;
		client_max_body_size 10000M;
#设置可访问的端口33301;设置访问地址,我这里公网地址就是本机IP所以就写localhost;
    		listen       33301;
    		server_name localhost;

    		location / {
#设置外网访问后跳转的地址,frp内网渗透指定端口7000
        		proxy_pass  http://127.0.0.1:7000;
        		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        		proxy_set_header Host $http_host;
        		proxy_set_header X-NginX-Proxy true;
        		proxy_http_version 1.1;
        		proxy_set_header Upgrade $http_upgrade;
        		proxy_set_header Connection "upgrade";
        		proxy_max_temp_file_size 0;
        		proxy_redirect off;
        		proxy_read_timeout 240s;
    		}

    		error_page   500 502 503 504  /50x.html;
    		location = /50x.html {
        		root   /usr/share/nginx/html;
    			}
		}

2、配置frps

(1) 解压frp_0.38.0_windows_386.zip安装包到指定目录,内容如下

在这里插入图片描述

(2) 修改文件夹名称frp_0.38.0_windows_386为项目简称如frp-jenkins,并删除frpc相关文件,如下图所示。

在这里插入图片描述

(3) 编辑frps.ini配置文件

[common]
#开放的、可被内网服务器访问的端口
bind_port = 33302
#指定的、nginx代理跳转的端口和外网访问地址(这里的IP要根据自己开通的公网地址写)
vhost_http_port = 7000
subdomain_host = 192.168.199.330
#身份验证,与客户端一致
token = woesk32SKE349$le123#234do
#frps监控,本机7501端口,用户密码登录,可以查看谁链接了
dashboard_addr = 0.0.0.0
dashboard_port = 7501
dashboard_user = admin
dashboard_pwd = admin
#设置日志显示级别
log_level = info
#设置日志最大天数
log_max_days = 999
#超时时间
heartbeat_timeout = 90
#最大链接数
max_pool_count = 10

3、配置启动文件

(1)创建文本文档-重命名为start.bat.
(2)编辑文件-填写启动命令并保存.

frps.exe -c frps.ini

(3)若不做开机自启,直接双击bat文件启动即可。

4、添加进Windows服务,设为开机自启(非必须)

(1) 将winsw.exe程序移动到frp目录下,新建文本文档-重命名为winsw.xml-编辑配置文件。

<service>
#所在上级目录名称
<id>frp-jenkins</id>
#服务名称
<name>frp-jenkins</name>
#详情介绍
<description>jenkins</description>
#命令
<executable>frps</executable>
#指定配置文件的命令
<arguments>-c frps.ini</arguments>
<onfailure action="restart" delav="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>
</service>

(2) 在当前目录下打开cmd窗口,使用添加服务命令,添加到服务中。

#添加服务命令
winsw install

#启动服务命令
winsw start

#删除服务命令
sc delete 服务名

(3) 打开服务程序,查看是否添加成功,启动类型设置为【自动】,并手动【启动】此服务。
在这里插入图片描述

(三)配置内网项目服务器

1、配置frpc

(1) 解压frp_0.38.0_windows_386.zip安装包到指定目录,内容如下

在这里插入图片描述

(2) 修改文件夹名称frp_0.38.0_windows_386为项目简称如frp-jenkins,并删除frps相关文件。(下图中log文件是启动后生成的日志文件,不必在意,第一次安装是没有的)

在这里插入图片描述

(3) 编辑frpc.ini配置文件

[common]
tls_enable = true
#公网地址
server_addr = 192.168.199.330
#公网设置的端口
server_port = 33302
#身份验证,与公网一致
token = woesk32SKE349$le123#234do
#管理页面
admin_addr = 127.0.0.1
admin_port = 7402
admin_user = admin
admin_pwd = admin
#日志
log_file = ./frpc.log
log_level = info
#本地项目访问地址、端口
[192.168.199.330]
type = http
local_ip = 127.0.0.1
local_port = 9000
#外网域名
custom_domains = 192.168.199.330

2、配置启动文件

(1)创建文本文档,并重命名为start.bat.
(2)编辑文件-填写启动命令并保存

frpc.exe -c frpc.ini

(3)若不做开机自启,直接双击bat文件启动即可。

3.添加进Windows服务,设为开机自启(非必须)

(1) 将winsw.exe程序移动到frp所在目录下,新建文本文档-重命名为winsw.xml-编辑配置文件。

<service>
#所在目录
<id>frp-jenkins</id>
#服务名称
<name>frp-jenkins</name>
#详情介绍
<description>jenkins</description>
#命令
<executable>frpc</executable>
#指定配置文件的命令
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delav="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>
</service>

(2) 添加到服务。

#添加服务命令
winsw install

#启动服务命令
winsw start

#删除服务命令
sc delete 服务名

(3) 打开服务,查看是否添加成功,启动类型设置为【自动】,并手动【启动】此服务。
在这里插入图片描述

(四)访问测试

(1)所有配置完成后启动服务.
(2)在外网环境访问公网地址,查看能否正常访问内网项目;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值