51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

内网穿透frp搭建和Nginx反代设置

[TOC]

下载 {#下载}

文档
https://gofrp.org/docs/setup/

Github 的 Release 页面
https://github.com/fatedier/frp/releases

下载对应架构的软件包, frp_0.35.1_linux_amd64.tar.gz

运行 解压

  
   
* 
                          01
                        

  
                    
                      tar -zxvf frp_0.29.1_linux_amd64.tar.gz

                    </code>
                  </pre>



 
文件配置 {#文件配置}
------------


 

  
* 服务端是配置 ` Frps.ini ` 文件,运行 ` Frps ` 启动

  
* 客户端是配置 ` Frpc.ini ` 文件,运行 ` Frpc ` 启动

 

 
>   新版使用 ` toml ` 格式文件, ` ini ` 文件不再适用。
>
>  

 
### 修改服务端配置文件并启动 {#修改服务端配置文件并启动}


 
打开 ` Frps.ini ` 文件,这里配置web服务服务

 
````hljs language-ini
                    
                      
                        [common]
                      
                      
                        # 内网穿透服务器端监听的IP地址,可以省略,默认为127.0.0.1
                      
                      
                        bind_addr
                      
                       = 
                      
                        0.0
                      
                      .
                      
                        0.0
                      
                      
                        # 服务器端监听的端口,默认是7000
                      
                      
                        bind_port
                      
                       = 
                      
                        7000
                      
                      
                        # 该端口就是以后访问web服务需要用到的端口
                      
                      
                        vhost_http_port
                      
                       = 
                      
                        8787
                      
                      
                        # frp的web面板配置
                      
                      
                        dashboard_addr
                      
                       = 
                      
                        0.0
                      
                      .
                      
                        0.0
                      
                      
                        dashboard_port
                      
                       = 
                      
                        7500
                      
                      
                        # 登陆用户
                      
                      
                        dashboard_user
                      
                       = admin

                      <span class="hljs-comment">
                        # 登陆密码
                      </span>
                      <span class="hljs-attr">
                        dashboard_pwd
                      </span>
                       = adminadmin

                    </code>
                  </pre>



 
或 ` frps.toml `

 
```hljs language-toml
                    
                      
                        bindPort
                      
                       = 
                      
                        7000
                      
                      
                        vhostHTTPPort
                      
                       = 
                      
                        8787
                      
                      
                        # auth.token = "wwssaaddbaba123"
                      
                      
                        webServer.addr
                      
                       = 
                      
                        "0.0.0.0"
                      
                      
                        webServer.port
                      
                       = 
                      
                        7500
                      
                      
                        webServer.user
                      
                       = 
                      
                        "admin"
                      
                      
                        webServer.password
                      
                       = 
                      
                        "adminadmin"
                      
                    
                  

```


 
启动frps

 
                        
                          ./frps -c ./frps.ini
    # 或
    ./frps -c ./frps.toml

                        </code>
                      </pre>



     
    或后台启动

     
                            
                              nohup ./frps -c ./frps.ini &
        # 或
        nohup ./frps -c ./frps.toml &

                            </code>
                          </pre>



         
        查看进程 {#查看进程}
        ------------


         
        ` ps -aux | grep "frps" `

         
        可以通过kill杀死进程,终止服务

         
        客户端配置并启动 {#客户端配置并启动}
        --------------------


         
        打开 ` Frpc.ini ` 文件

         
        ```hljs language-ini
                            
                              
                                [common]
                              
                              
                                ## 服务端的服务器ip
                              
                              
                                server_addr
                              
                               = 服务器ip地址

                              <span class="hljs-comment">
                                ## 服务端监听的端口(必须与Frps.ini中的配置一致)
                              </span>
                              <span class="hljs-attr">
                                server_port
                              </span>
                               = 
                              <span class="hljs-number">
                                7000
                              </span>
                              <span class="hljs-comment">
                                # token = wwssaaddbaba123
                              </span>
                              <span class="hljs-section">
                                [myweb111]
                              </span>
                              <span class="hljs-comment">
                                # 给当前穿透服务起一个唯一名字
                              </span>
                              <span class="hljs-attr">
                                type
                              </span>
                               = http

                              <span class="hljs-comment">
                                # 要穿透的本地服务地址
                              </span>
                              <span class="hljs-attr">
                                local_ip
                              </span>
                               = 
                              <span class="hljs-number">
                                192.168
                              </span>
                              .
                              <span class="hljs-number">
                                0.121
                              </span>
                              <span class="hljs-attr">
                                local_port
                              </span>
                               = 
                              <span class="hljs-number">
                                8080
                              </span>
                              <span class="hljs-comment">
                                # 绑定的域名
                              </span>
                              <span class="hljs-attr">
                                custom_domains
                              </span>
                               = [随便取一个前缀].nat.domain.com
                              <span class="hljs-comment">
                                ;
                              </span>
                            </code>
                          </pre>



         
        启动

         
                                
                                  frpc.exe -c frpc.ini

                                </code>
                              </pre>



             
            新版 ` toml ` 文件的配置

             
                                    
                                      serverAddr = "服务器ip地址"
                serverPort = 7000
                # auth.token = "wwssaaddbaba123"

                \[\[proxies\]\]
                name = "myHomePage" # 给当前穿透服务起一个唯一名字
                type = "http"
                localIP = "192.168.0.121"
                localPort = 8080
                customDomains = \["\[随便取一个前缀\].nat.domain.com"\]


                useEncryption = true
                ====================



                useCompression = true
                =====================



                配置账号密码验证才能打开
                ============



                httpUser = "root"
                =================



                httpPassword = "root1333."
                ==========================



                                    </code>
                                  </pre>



                 
                启动

                 
                                        
                                          frpc.exe -c frpc.toml

                                        </code>
                                      </pre>



                     
                    服务器配置nginx反向代理 {#服务器配置nginx反向代理}
                    --------------------------------


                     
                                            
                                              server {
                            listen 80;
                            server_name *.nat.domain.com; # 这里填你的域名,然后去域名商解析

                            location / {
                                proxy_pass http://127.0.0.1:8787;
                                proxy_set_header Host $host;
                                proxy_set_header X-Real-IP $remote_addr;
                                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                                proxy_set_header X-Forwarded-Proto $scheme;

                                # 禁止缓存
                                proxy_buffering off;
                                proxy_cache off;
                                proxy_no_cache on;

                            }




                        }


                                            </code>
                                          </pre>



                         
                        如果你在用宝塔,记得在宝塔反向代理里修改配置文件内容。关闭缓存。 
                         ![](http://static.51tbox.com/static/2024-12-12/col/d84ba329d93edb11bea9cfe37ee18078/e71e7e5beaa149b6b68f4f3b1824eeab.png.jpg)

                         
                        Linux设置frp进程守护 {#linux设置frp进程守护}
                        --------------------------------


                         
                        在 ` /lib/systemd/system/ ` 目录中创建 ` frps.service ` 文件。内容如下:

                         
                                                
                                                  [Unit]
                            Description=fraps service
                            After=network.target syslog.target
                            Wants=network.target

                            \[Service\]
                            Type=simple
                            #启动服务的命令(此处写你的frps的实际安装目录)
                            ExecStart=/your/path/frps -c /your/path/frps.ini


                            \[Install\]
                            WantedBy=multi-user.target


                                                </code>
                                              </pre>



                             
                            之后就可以通过systemctl启动frp

                             
                                                    
                                                      # 启动frps
                                sudo systemctl start frps
                                # 打开自启动
                                sudo systemctl enable frps

                                重启
                                ===



                                sudo systemctl restart frps


                                停止应用
                                ====



                                sudo systemctl stop frps


                                查看应用日志
                                ======



                                sudo systemctl status frps


                                                    </code>
                                                  </pre>
















        ```






````

赞(0)
未经允许不得转载:工具盒子 » 内网穿透frp搭建和Nginx反代设置