ngrok을 frp로 바꾸기

4301 단어 tutorialbeginners
ngrok은 로컬 환경으로 터널링하는 데 사용되는 널리 사용되는 도구입니다. 모바일 장치에서 컴퓨터의 로컬 호스트에 액세스합니다.

현재 ngrok은 무료/유료 서비스입니다. 무료 서비스는 분당 40개의 요청으로 제한되며 한 번에 하나의 터널만 사용할 수 있습니다. 또한 서버에서 임의의 하위 도메인을 제공합니다. 많은 서비스와 마찬가지로 표면적으로는 훌륭하지만 실용적으로 사용하기에는 충분하지 않습니다.

frp은 ngrok의 오픈 소스 버전입니다. 유사한 다양성의 더 많은 OSS는 여기에서 찾을 수 있습니다: ( https://github.com/anderspitman/awesome-tunneling ).

시작하자



분명히, 온라인 어딘가에 자신의 서버가 있어야 합니다. 아마도 Linode, DigitalOcean 또는 EC2일 것입니다.

이 자습서에서는 서버에서 Ubuntu 환경을 실행하고 개발자 컴퓨터에서 Mac 환경을 실행한다고 가정하겠습니다.

서버에서 FRP 설정(Ubuntu)



frp 리포지토리의 릴리스 페이지로 이동합니다. https://github.com/fatedier/frp/releases

시스템에 호환되는 버전을 가져옵니다. 우리의 경우 Linux AMD64 버전입니다.

아래로 당겨서 추출해 보겠습니다.

wget https://github.com/fatedier/frp/releases/download/v0.36.1/frp_0.36.1_linux_amd64.tar.gz
tar vxf frp_0.36.1_linux_amd64 
cd frp_0.36.1_linux_amd64

여기에 여러 파일이 있습니다. frp*s*에 대해 걱정해야 합니다. FRPS = 서버, FRPC = 클라이언트.
frps.ini 파일을 편집하고 다음 행을 추가합니다.

[common]
bind_port = 7000
vhost_http_port = 9888
vhost_http_port는 다음과 같이 원격으로 액세스할 때 사용할 포트입니다. http://www.example.com:9888
이제 서버를 시작할 수 있습니다. 수동으로 수행하거나 프로세스 관리자에 저장하는 것은 중요하지 않습니다.

./frps -c ./frps.ini

그러면 다음과 같은 출력이 표시됩니다.

2021/03/21 16:52:18 [I] [root.go:108] frps uses config file: ./frps.ini
2021/03/21 16:52:18 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
2021/03/21 16:52:18 [I] [service.go:235] http service listen on 0.0.0.0:9888
2021/03/21 16:52:18 [I] [root.go:209] frps started successfully

클라이언트에서 FRP 설정(OS X)



frp 리포지토리의 릴리스 페이지로 다시 이동합니다. https://github.com/fatedier/frp/releases

시스템에 호환되는 버전을 가져옵니다. 우리의 경우 Darwin AMD64 버전입니다.

아래로 당겨서 추출해 보겠습니다.

wget https://github.com/fatedier/frp/releases/download/v0.36.1/frp_0.36.1_darwin_amd64.tar.gz
tar vxf frp_0.36.1_darwin_amd64 
cd frp_0.36.1_darwin_amd64
frpc.ini 파일을 편집합니다. 클라이언트가 서버가 아님을 기억하십시오. frpC .

[common]
server_addr = *your server ip*
server_port = 7000

[web]
type = http
local_port = 8080
custom_domains = www.yourservername.com
server_portfrps.ini 에서 위에서 사용한 것과 일치해야 합니다. local_port는 코드가 있는 곳에 있어야 합니다. 따라서 OSX의 내장 Apache를 사용하는 경우 80가 될 수 있지만 때로는 8080 , 8081 와 같은 것을 사용하는 경우 http-server 또는 npm run serve 사용자에 따라 프로젝트.

이제 서버와 유사한 클라이언트 터널을 시작합니다.

./frpc -c ./frpc.ini

그러면 다음과 같은 출력이 표시됩니다.

2021/03/21 12:57:19 [I] [service.go:304] [5fb3865334a6b46a] login to server success, get run id [5fb3865334a6b46a], server udp port [0]
2021/03/21 12:57:19 [I] [proxy_manager.go:144] [5fb3865334a6b46a] proxy added: [web]
2021/03/21 12:57:19 [I] [control.go:180] [5fb3865334a6b46a] [web] start proxy success

프로젝트 방문



이제 온라인에서 프로젝트를 볼 수 있습니다. 이동 :

http://www.yourservername.com:9888 

다음 내용이 표시됩니다.

http://localhost:8080 (or whatever port you chose)

이제 자신의 터널을 완전히 제어할 수 있습니다. ngrok에 대해 비용을 지불할 필요가 없고 포트 제한 또는 요청 제한에 구속되지 않으며 가장 중요한 것은 모든 트래픽이 서버를 통과한다는 것입니다.

추가 읽기



ngrok 및 frp는 이보다 훨씬 더 많은 기능을 제공하므로 더 자세히 알아보려면 해당 저장소의 문서를 계속 읽으십시오. https://github.com/fatedier/frp

좋은 웹페이지 즐겨찾기