内网穿透工具FRP使用及配置

win7中frpc客户端加入开机启动

下载winsw进行配置https://github.com/kohsuke/winsw/releases

winsw.xml

<service>
<id>frp</id>
<name>frp本地运行</name>
<description>FRP本地运行配置文件</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>
</service>

 

启动.bat

@echo off

cd c:/frpc
winsw install
winsw start

停用.bat

@echo off

cd c:/frpc
winsw stop
winsw uninstall

 

说明:

我的frp客户端是放在C盘下的frpc文件夹中

配置文件位置C:frpcfrpc.ini

启动.bat,停用.bat,winsw.xml和winsw.exe同样放在frpc文件夹中

配置好后,只需点击一次启动.bat即可实现开机自动启动frp客户端.

停用.bat是停用frp客户端时使用的,在修改配置重新启动时可以先停用再启用即可.

 

 

 

 

 

复制frp服务端systemd/frps.service文件到/etc/systemd/system/frps.service

frps.service文件参考内容

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/frps/frps -c /frps/frps.ini

[Install]
WantedBy=multi-user.target

 

说明:

我的frp服务端是放在服务器根下的frps文件夹中

服务端配置文件在/frps/frps.ini

上面的代码中的路径请参考对应设置成自己的.

 

 

 

 

centos7.6中服务端加入开机启动

systemctl enable frps.service

停止服务

systemctl stop frps.service

启动服务

systemctl start frps.service

查询状态

systemctl status frps.service

 

 

在nginx配置80端口共用

说明:

frps.ini中http端口为8080

vhost_http_port = 8080

 

http
{

resolver 1.1.1.1;#添加这一行,避免出现502错误

resolver_timeout 5s;

 

找到配置块

server
{

 

}

下面添加以下代码

 


server
{
listen 80;
server_name *.domain.com;
location / {
proxy_pass http://$host:8080;
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_hide_header X-Powered-By;
}
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://$host:8080;#添加这一行
expires 30d;
}

location ~ .*.(js|css)?$
{
proxy_pass http://$host:8080;#添加这一行
expires 12h;
} 
location ~ /.
{
deny all;
}
}