나만의 ngrok 만들기(self hosted ngrok)
계기
Raspberry pi에 구축한, Node-red와 MQTT에, 외부로부터 액세스 시키고 싶다.
자주 있는 http/https 뿐만이 아니라 MQTT 프로토콜이 사용하는 TCP 포트 지정해의 터널링을 실시할 수 있는 것.
증명서를 사용한 서버 인증을 실시하기 위해(때문에), 고정 IP로 독자 도메인 취득 전제.
집이 아파트 타입의 이중 라우터이므로 그것을 넘을 수 있습니다.
정책 검토:
ngrok: 유료: TCP 포트의 개방을 지원하는 서비스.
시험에 ssh를 TCP 터널 시켜 보면, 아래와 같이.
$ ngrok tcp 22
ngrok by @inconshreveable (Ctrl+C to quit)
Tunnel Status online
Version 2.0.19/2.0.19
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.ngrok.io:36198 -> localhost:22
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
문서에 따르면, 무료 계정에서,
<ランダムな数字1桁>.tcp.ngrok.io:<ランダムなポート番号>
이것으로는 증명서가 보증할 수 있는 URL로서는 접속할 수 없다.
유료라면
연간 99달러로 "2 reserved TCP sddress"라고 있지만, 이것도 포트 번호를 고정할 수 있을 뿐.
serveo: 무료: 전혀 액세스할 수 없어 사용할 수 없었습니다.
독자 도메인이 필요하기 때문에 스스로 서버를 구축할 수 있는 것을 찾아 보았다.
Softether
VPS등의 퍼블릭 고정 IP의 서버에 vpnserver를 인스톨, 그것을 향해 Raspberry pi측으로부터 vpnbridge, 혹은 vpnclient로 접속하는 것이 기본 구성이지만, 어떻게 잘 되지 않았다. Raspberry pi측을 멀티 NIC(Ether+Wifi)로 하면 잘 되었을지도 모른다.
localtunnel
문서를 대충 읽고, 설치해 보았지만, https 밖에 설정할 수 없기 때문에 봇.
ngrok
이전 버전 (1.7)의 ngrok이 서버 클라이언트 모두 소스가 공개되었습니다.
"DO NOT RUN THIS VERSION OF NGROK (1.X) IN PRODUCTION."라고 기재되어 있어 주의가 필요하지만, 상용판의 "ngrok.io"부분을 독자 도메인으로 해 사용할 수 있을 것 같다.
이것을 시도해보십시오.
서버 검토
고정 IP를 사용할 수 있는 VPS 서비스를 검토. 스펙은 최저 레벨.
■ WEBARENA VPS 클라우드
월액 360엔으로 1코어, SSD20GB, 메모리 1GB로 확실히 애용할 수 있는 서비스이지만,
2019년 11월 현재, 불행히도 재고 없음.
■ 코노하 VPS
월액 630엔으로 1코어, SSD20GB, 메모리 512MB, 부득이 여기를 선택한다.
도메인 얻기
이미 계정이 있습니다 가치 도메인
연간 99엔의(초년도만) 도메인을 구입해, 아래와 같이 1~5를 참고로 설정.
VALUE-DOMAIN에서 얻은 도메인을 Conoha에서 사용해보기
구성
서버: Conoha VPS CentOS7
클라이언트: Raspberry pi Zero WH Raspbian buster
설정
기본적으로 서버와 클라이언트 측 모두 Go를 설정합니다.
아래를 참고로 Go 설정.
Linux(CentOS, Ubuntu)에서 Go 언어 개발 환경 구축
너무 Go가 새로 오류가되기 때문에 Go1.7을 설치합니다.
다음을 수행한다.
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
#raspbianは下記
GOOS=linux GOARCH=arm make release-client
#CentOS7は下記
GOOS=linux GOARCH=amd64 make release-server
위에서 ngrok/bin/내에 바이너리가 있습니다.
자체 인증 기관, 서버 인증서 만들기
OpenSSL ECDSA에서 자체 인증 기관 작성 를 참고로 루트 CA, 중간 CA를 작성.
인증서 만들기:
서버 인증서의 개인 키와 CSR 만들기
openssl req -new -config openssl.cnf -newkey ec:<(openssl ecparam -name prime256v1) -keyout server.key -out server.csr
서버 인증서를 중간 CA로 서명
openssl ca -config openssl.cnf -extensions svr_cert -keyfile icacert.key -cert icacert.pem -in server.csr -out server.crt -days 3650
openssl.cnf의 주요 변경 사항
[ svr_cert ]
subjectAltName= @alt_names
[ alt_names ]
#SAN対策
DNS.1 = <取得したドメイン>
DNS.2 = *.<所得したドメイン>
인증서 체인 만들기
서버 인증서로 통합하기 위해,
서버 인증서 + 중간 CA 인증서 + 자체 인증 기관 CA 인증서를 붙입니다.
SSLCertificateChainFile Deprecation Warning on Apache 2.4.8+
./bundle.sh server.crt > server.chain
./bundle.sh icacert.pem >> server.chain
./bundle.sh cacert.pem >> server.chain
서버, 클라이언트에 자체 인증 기관 CA 인증서 포함
하기를 참고로 신뢰된 루트 증명서로서 작성한 자기 인증국 CA 증명서를 편입한다.
자체 루트 CA 인증서를 추가하는 방법(Ubuntu, CentOS 7)
ngrok 클라이언트의 CA 인증서 교체
클라이언트 측 ngrokroot.crt을 자체 인증 기관 CA 인증서로 바꿉니다.
다시 GOOS = linux GOARCH = arm make release-client를 실시한다.
서버, 클라이언트 실행.
서버측
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
클라이언트측
구성 파일을 작성하고 실행합니다.
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
실행 확인
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ngrok: 유료: TCP 포트의 개방을 지원하는 서비스.
시험에 ssh를 TCP 터널 시켜 보면, 아래와 같이.
$ ngrok tcp 22
ngrok by @inconshreveable (Ctrl+C to quit)
Tunnel Status online
Version 2.0.19/2.0.19
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.ngrok.io:36198 -> localhost:22
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
문서에 따르면, 무료 계정에서,
<ランダムな数字1桁>.tcp.ngrok.io:<ランダムなポート番号>
이것으로는 증명서가 보증할 수 있는 URL로서는 접속할 수 없다.
유료라면
연간 99달러로 "2 reserved TCP sddress"라고 있지만, 이것도 포트 번호를 고정할 수 있을 뿐.
serveo: 무료: 전혀 액세스할 수 없어 사용할 수 없었습니다.
독자 도메인이 필요하기 때문에 스스로 서버를 구축할 수 있는 것을 찾아 보았다.
Softether
VPS등의 퍼블릭 고정 IP의 서버에 vpnserver를 인스톨, 그것을 향해 Raspberry pi측으로부터 vpnbridge, 혹은 vpnclient로 접속하는 것이 기본 구성이지만, 어떻게 잘 되지 않았다. Raspberry pi측을 멀티 NIC(Ether+Wifi)로 하면 잘 되었을지도 모른다.
localtunnel
문서를 대충 읽고, 설치해 보았지만, https 밖에 설정할 수 없기 때문에 봇.
ngrok
이전 버전 (1.7)의 ngrok이 서버 클라이언트 모두 소스가 공개되었습니다.
"DO NOT RUN THIS VERSION OF NGROK (1.X) IN PRODUCTION."라고 기재되어 있어 주의가 필요하지만, 상용판의 "ngrok.io"부분을 독자 도메인으로 해 사용할 수 있을 것 같다.
이것을 시도해보십시오.
서버 검토
고정 IP를 사용할 수 있는 VPS 서비스를 검토. 스펙은 최저 레벨.
■ WEBARENA VPS 클라우드
월액 360엔으로 1코어, SSD20GB, 메모리 1GB로 확실히 애용할 수 있는 서비스이지만,
2019년 11월 현재, 불행히도 재고 없음.
■ 코노하 VPS
월액 630엔으로 1코어, SSD20GB, 메모리 512MB, 부득이 여기를 선택한다.
도메인 얻기
이미 계정이 있습니다 가치 도메인
연간 99엔의(초년도만) 도메인을 구입해, 아래와 같이 1~5를 참고로 설정.
VALUE-DOMAIN에서 얻은 도메인을 Conoha에서 사용해보기
구성
서버: Conoha VPS CentOS7
클라이언트: Raspberry pi Zero WH Raspbian buster
설정
기본적으로 서버와 클라이언트 측 모두 Go를 설정합니다.
아래를 참고로 Go 설정.
Linux(CentOS, Ubuntu)에서 Go 언어 개발 환경 구축
너무 Go가 새로 오류가되기 때문에 Go1.7을 설치합니다.
다음을 수행한다.
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
#raspbianは下記
GOOS=linux GOARCH=arm make release-client
#CentOS7は下記
GOOS=linux GOARCH=amd64 make release-server
위에서 ngrok/bin/내에 바이너리가 있습니다.
자체 인증 기관, 서버 인증서 만들기
OpenSSL ECDSA에서 자체 인증 기관 작성 를 참고로 루트 CA, 중간 CA를 작성.
인증서 만들기:
서버 인증서의 개인 키와 CSR 만들기
openssl req -new -config openssl.cnf -newkey ec:<(openssl ecparam -name prime256v1) -keyout server.key -out server.csr
서버 인증서를 중간 CA로 서명
openssl ca -config openssl.cnf -extensions svr_cert -keyfile icacert.key -cert icacert.pem -in server.csr -out server.crt -days 3650
openssl.cnf의 주요 변경 사항
[ svr_cert ]
subjectAltName= @alt_names
[ alt_names ]
#SAN対策
DNS.1 = <取得したドメイン>
DNS.2 = *.<所得したドメイン>
인증서 체인 만들기
서버 인증서로 통합하기 위해,
서버 인증서 + 중간 CA 인증서 + 자체 인증 기관 CA 인증서를 붙입니다.
SSLCertificateChainFile Deprecation Warning on Apache 2.4.8+
./bundle.sh server.crt > server.chain
./bundle.sh icacert.pem >> server.chain
./bundle.sh cacert.pem >> server.chain
서버, 클라이언트에 자체 인증 기관 CA 인증서 포함
하기를 참고로 신뢰된 루트 증명서로서 작성한 자기 인증국 CA 증명서를 편입한다.
자체 루트 CA 인증서를 추가하는 방법(Ubuntu, CentOS 7)
ngrok 클라이언트의 CA 인증서 교체
클라이언트 측 ngrokroot.crt을 자체 인증 기관 CA 인증서로 바꿉니다.
다시 GOOS = linux GOARCH = arm make release-client를 실시한다.
서버, 클라이언트 실행.
서버측
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
클라이언트측
구성 파일을 작성하고 실행합니다.
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
실행 확인
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이미 계정이 있습니다 가치 도메인
연간 99엔의(초년도만) 도메인을 구입해, 아래와 같이 1~5를 참고로 설정.
VALUE-DOMAIN에서 얻은 도메인을 Conoha에서 사용해보기
구성
서버: Conoha VPS CentOS7
클라이언트: Raspberry pi Zero WH Raspbian buster
설정
기본적으로 서버와 클라이언트 측 모두 Go를 설정합니다.
아래를 참고로 Go 설정.
Linux(CentOS, Ubuntu)에서 Go 언어 개발 환경 구축
너무 Go가 새로 오류가되기 때문에 Go1.7을 설치합니다.
다음을 수행한다.
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
#raspbianは下記
GOOS=linux GOARCH=arm make release-client
#CentOS7は下記
GOOS=linux GOARCH=amd64 make release-server
위에서 ngrok/bin/내에 바이너리가 있습니다.
자체 인증 기관, 서버 인증서 만들기
OpenSSL ECDSA에서 자체 인증 기관 작성 를 참고로 루트 CA, 중간 CA를 작성.
인증서 만들기:
서버 인증서의 개인 키와 CSR 만들기
openssl req -new -config openssl.cnf -newkey ec:<(openssl ecparam -name prime256v1) -keyout server.key -out server.csr
서버 인증서를 중간 CA로 서명
openssl ca -config openssl.cnf -extensions svr_cert -keyfile icacert.key -cert icacert.pem -in server.csr -out server.crt -days 3650
openssl.cnf의 주요 변경 사항
[ svr_cert ]
subjectAltName= @alt_names
[ alt_names ]
#SAN対策
DNS.1 = <取得したドメイン>
DNS.2 = *.<所得したドメイン>
인증서 체인 만들기
서버 인증서로 통합하기 위해,
서버 인증서 + 중간 CA 인증서 + 자체 인증 기관 CA 인증서를 붙입니다.
SSLCertificateChainFile Deprecation Warning on Apache 2.4.8+
./bundle.sh server.crt > server.chain
./bundle.sh icacert.pem >> server.chain
./bundle.sh cacert.pem >> server.chain
서버, 클라이언트에 자체 인증 기관 CA 인증서 포함
하기를 참고로 신뢰된 루트 증명서로서 작성한 자기 인증국 CA 증명서를 편입한다.
자체 루트 CA 인증서를 추가하는 방법(Ubuntu, CentOS 7)
ngrok 클라이언트의 CA 인증서 교체
클라이언트 측 ngrokroot.crt을 자체 인증 기관 CA 인증서로 바꿉니다.
다시 GOOS = linux GOARCH = arm make release-client를 실시한다.
서버, 클라이언트 실행.
서버측
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
클라이언트측
구성 파일을 작성하고 실행합니다.
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
실행 확인
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
기본적으로 서버와 클라이언트 측 모두 Go를 설정합니다.
아래를 참고로 Go 설정.
Linux(CentOS, Ubuntu)에서 Go 언어 개발 환경 구축
너무 Go가 새로 오류가되기 때문에 Go1.7을 설치합니다.
다음을 수행한다.
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
#raspbianは下記
GOOS=linux GOARCH=arm make release-client
#CentOS7は下記
GOOS=linux GOARCH=amd64 make release-server
위에서 ngrok/bin/내에 바이너리가 있습니다.
자체 인증 기관, 서버 인증서 만들기
OpenSSL ECDSA에서 자체 인증 기관 작성 를 참고로 루트 CA, 중간 CA를 작성.
인증서 만들기:
서버 인증서의 개인 키와 CSR 만들기
openssl req -new -config openssl.cnf -newkey ec:<(openssl ecparam -name prime256v1) -keyout server.key -out server.csr
서버 인증서를 중간 CA로 서명
openssl ca -config openssl.cnf -extensions svr_cert -keyfile icacert.key -cert icacert.pem -in server.csr -out server.crt -days 3650
openssl.cnf의 주요 변경 사항
[ svr_cert ]
subjectAltName= @alt_names
[ alt_names ]
#SAN対策
DNS.1 = <取得したドメイン>
DNS.2 = *.<所得したドメイン>
인증서 체인 만들기
서버 인증서로 통합하기 위해,
서버 인증서 + 중간 CA 인증서 + 자체 인증 기관 CA 인증서를 붙입니다.
SSLCertificateChainFile Deprecation Warning on Apache 2.4.8+
./bundle.sh server.crt > server.chain
./bundle.sh icacert.pem >> server.chain
./bundle.sh cacert.pem >> server.chain
서버, 클라이언트에 자체 인증 기관 CA 인증서 포함
하기를 참고로 신뢰된 루트 증명서로서 작성한 자기 인증국 CA 증명서를 편입한다.
자체 루트 CA 인증서를 추가하는 방법(Ubuntu, CentOS 7)
ngrok 클라이언트의 CA 인증서 교체
클라이언트 측 ngrokroot.crt을 자체 인증 기관 CA 인증서로 바꿉니다.
다시 GOOS = linux GOARCH = arm make release-client를 실시한다.
서버, 클라이언트 실행.
서버측
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
클라이언트측
구성 파일을 작성하고 실행합니다.
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
실행 확인
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
openssl req -new -config openssl.cnf -newkey ec:<(openssl ecparam -name prime256v1) -keyout server.key -out server.csr
openssl ca -config openssl.cnf -extensions svr_cert -keyfile icacert.key -cert icacert.pem -in server.csr -out server.crt -days 3650
[ svr_cert ]
subjectAltName= @alt_names
[ alt_names ]
#SAN対策
DNS.1 = <取得したドメイン>
DNS.2 = *.<所得したドメイン>
서버 인증서로 통합하기 위해,
서버 인증서 + 중간 CA 인증서 + 자체 인증 기관 CA 인증서를 붙입니다.
SSLCertificateChainFile Deprecation Warning on Apache 2.4.8+
./bundle.sh server.crt > server.chain
./bundle.sh icacert.pem >> server.chain
./bundle.sh cacert.pem >> server.chain
서버, 클라이언트에 자체 인증 기관 CA 인증서 포함
하기를 참고로 신뢰된 루트 증명서로서 작성한 자기 인증국 CA 증명서를 편입한다.
자체 루트 CA 인증서를 추가하는 방법(Ubuntu, CentOS 7)
ngrok 클라이언트의 CA 인증서 교체
클라이언트 측 ngrokroot.crt을 자체 인증 기관 CA 인증서로 바꿉니다.
다시 GOOS = linux GOARCH = arm make release-client를 실시한다.
서버, 클라이언트 실행.
서버측
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
클라이언트측
구성 파일을 작성하고 실행합니다.
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
실행 확인
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
클라이언트 측 ngrokroot.crt을 자체 인증 기관 CA 인증서로 바꿉니다.
다시 GOOS = linux GOARCH = arm make release-client를 실시한다.
서버, 클라이언트 실행.
서버측
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
클라이언트측
구성 파일을 작성하고 실행합니다.
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
실행 확인
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
bin/ngrokd -tlsKey=server.key -tlsCrt=server.chain -domain=<取得したドメイン>
vi .ngrok
server_addr: <所得したドメイン>:4443
trust_host_root_certs: false
tunnels:
mqtt:
proto:
tcp: 8883
remote_port: 8883
node-red:
proto:
https: 1880
subdomain: nodered
#実行
bin/ngrok -config=.ngrok start-all
클라이언트측 상태
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding https://nodered.<取得したドメイン> -> 127.0.0.1:1880
Forwarding tcp://<取得したドメイン>:8883 -> 127.0.0.1:8883
Web Interface 127.0.0.1:4040
# Conn 106
Avg Conn Time 436138.60ms
HTTP Requests
-------------
GET /icons/node-red/rpi.svg 304 Not Modified
GET /icons/node-red/file.svg 304 Not Modified
GET /icons/node-red/file-in.s 304 Not Modified
GET /icons/node-red/watch.svg 304 Not Modified
GET /icons/node-red/parser-ya 304 Not Modified
GET /icons/node-red/file-out. 304 Not Modified
GET /icons/node-red/parser-xm 304 Not Modified
GET /icons/node-red/parser-js 304 Not Modified
GET /icons/node-red/parser-ht 304 Not Modified
문제없이 TCP 연결을 확인할 수있었습니다.
Reference
이 문제에 관하여(나만의 ngrok 만들기(self hosted ngrok)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kmitsu76/items/6cd8b3217c9adad77812텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)