Cloudflare Tunnelって知ってる?
こんにちは、Shinsinです。
私の家のネットは親が契約してて、ポート開放ができないので、疑似開放サービスを探してたんですけど、独自ドメインが設定できなかったり、マインクラフトしかポート開放できなかったり、お金がかかったりするので、おすすめのサービスを
Cloudflare Tunnelとは?
ポートを疑似開放するためのサービスではないんですよね、細かくいうと、サーバーとクライアントのアクセスを安全にするようのサービス見たいです。
その性質を利用して、ポート開放&独自ドメインの設定をしていきます。
5分クッキング始めましょうか
準備
Cloudflareのアカウント・・・・一つ
サーバー ・・・・・・・・・・適量
インターネット ・・・・・・・適量
ApacheかNginx ・・・・・・・適量
Cloudflareに紐づけたドメイン ・適量(なくてもいい)
サーバーとのSSH接続をしておいてください
環境の準備
私はLinuxのArm64で進めますの環境で進めます(WindowsやMacの環境はいつか書きます)
sudo apt-get update | sudo apt-get upgrade -y #アップデート
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb #Cloudflareのダウンロード
sudo apt-get install ./cloudflared-linux-arm64.deb
Linux
Arm Arm64 x86(32bit) amd64 / x86-64
Windows
32bit 64bit
Mac
brew install cloudflare/cloudflare/cloudflared
Cloudflareのログイン
Cloudflareでログインします。ドメインがなくてもできるはず
ドメインあり版
cloudflared login #URLが出てくると思うので、ログインしてください
cloudflared tunnel route dns <名前> <ドメイン> #ドメインを登録
ドメインなし版
Cloudflare login #URLが出てくると思うので、ログインしてください
cloudflared tunnel route dns <名前> <名前>
ポートを指定
ドメインありなし共通版
cd /home/<ユーザー名>/.cloudflared/ #Cloudflareの設定ファイルを開く
ls #~~~~.jsonの名前をメモ帳とかにコピペしててください
nano ./config.yaml #Configを開く
ドメインあり版
tunnel: <~~~~.jsonの.jsonを消した部分>
credentials-file: /home/<ユーザー名>/.cloudflared/~~~~.json #ここでjsonを
ingress:
- hostname: <ドメイン>
service: http://localhost:80 #これは80ポート
- hostname: <ドメイン>
service: http://localhost:8080 #8080port
- service: http_status:404
ドメインなし版
url: http://localhost:8080 #8080port
tunnel: <~~~~.jsonの.jsonを消した部分>
credentials-file: /home/<ユーザー名>/.cloudflared/~~~~.json #ここでjsonを
起動
cloudflared tunnel --config /home/shen/.cloudflared/config.yaml run
簡単だったでしょ?
この後NginxとApacheを共存させて遊んでみようかなぁ~
最後に
Softbank airはごみー
(ポート開放もできんし、速度も遅いし)
この記事が気に入ったらサポートをしてみませんか?