LoginSignup
4

posted at

proxmoxのWEB GUIをCloudflareを使って外からアクセスできるようにする

経緯

proxmoxというサーバー仮想化ソフトウェアがある。
自宅でAWSのEC2のように仮想マシンが建てれて便利なのだが、管理画面に外からアクセスするのが大変という問題がある。
自宅でアクセスする際もhttps://サーバーのip:8006にアクセスする必要があり、分かりにくいのとオラオラ証明書なのでどうにかしたかった。
そこでCloudflare Tunnelsとnginx、Cloudflare Accessを使って自宅の外にいるときもアクセスできるようにした。

nginxのセットアップ

proxmoxは既に構築されているものとする。
proxmoxはHTTPSを無効化することが出来ないため、8006番で待ち受けているproxmoxのWEB GUIをnginxを使って80番ポートにリバースプロキシを設定する。

proxmoxはDebianベースのため、aptでnginxをインストールする。
/etc/nginx/nginx.confを開き、http {の中に以下を追加する

server {
        listen 80;
        server_name _;
        location / {
                proxy_set_header Host $http_host;
                proxy_pass https://localhost:8006;
        }
}

設定を確認し問題なければ反映する

nginx -t
nginx -s reload

Cloudflare Tunnelsの設定

80番のWEB GUIをCloudflare Tunnelsで拾う。
公式ドキュメントに従ってDashbordのAccess→Tunnelsから作成する。

基本的にはドキュメント通りで良いが、ServiceTypeHTTPURLlocalhost:80とする。

Cloudflare Accessの設定

このままではだれでもアクセスできるため、Cloudflare Accessで認証を追加する。
DashbordのAccess
Applications
Add an applicationからApplicationsを追加する。
その後Tunnelsから対象のTunnelを選択しConfigure
Public hostname
→対象のhostnameを選択しConfigure
Additional application settings
Access
Protect with Accessを有効にし、先ほど作成したApplicationを選択する

おわり

これで認証付きのprxmox WEB GUIが認証付きで外からアクセスできるようになっているはずだ。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4