🔖

cloudflaredの動かし方📝

2021/09/12に公開

一つの設定ファイルで複数のサービスを動かせます

1. インストール

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo apt install -y ./cloudflared-linux-amd64.deb

2. ログインをする

cloudflared tunnel login

3. トンネルを作る

cloudflared tunnel create server
表示されるUUIDを使います

4. 設定ファイルを作る

cat << EOF > ~/.cloudflared/config.yml
tunnel: UUID
credentials-file: /home/ubuntu/.cloudflared/UUID.json

ingress:
  - hostname: sub1.example.com
    service: http://localhost:80
  - hostname: ssh1.example.com
    service: ssh://localhost:22
  - service: http_status:404
EOF

設定ファイルは上から順番に評価されていきます、service: http_status:404にはホストネームが設定されていないので通信が404になります

5. 自動起動の設定

sudo cloudflared --config ~/.cloudflared/config.yml service install
sudo systemctl enable cloudflared

6. ドメインの設定

CNAMEレコードでUUID.cfargotunnel.comを設定します

7. 接続確認

設定したドメインにアクセス

アクセス制限する場合はCloudflare AccessのAccess ポリシーを設定します
https://developers.cloudflare.com/cloudflare-one/policies/zero-trust/policy-management
Ingress rulesの書き方
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/configuration-file/ingress
SSHがブラウザから動かせる!

https://developers.cloudflare.com/cloudflare-one/tutorials/ssh-browser
メッセージ表示のやり方はスクラップに書きました

以前のやり方
cloudflared tunnel --hostname sub1.example.com --url http://localhost:8000

Discussion