ポート転送不要!自宅サーバーの立て方 【Tailscale】

Tailscaleの導入

Tailscaleをダウンロード、インストール

TailscaleというVPNサービスについては、以下の記事を参考にしていただければと思います。このサービスは非常に多機能で便利であり、さらにVPNの外部からのアクセスも可能です。また、最大100台までの無料提供も行っています。詳細は以下のリンク先の記事をご覧ください。

Tailscaleにログイン

Tailscaleにログインします。アカウントを作成していない方は、Googleアカウント、Microsoftアカウント、またはAppleアカウントを使用して登録してください。登録はブラウザ上で実施されます。料金は一切かかりませんので、ご安心ください。

タスクバーのアイコンを右クリックした画面

PC名を設定

PCの名称を設定いたします。初期状態では、PCの本体の名称が設定されていますが、これはサーバーを構築した際のURLにも反映されますので、以下のリンクより変更を行ってください。


マシン名横の3点リーダーをクリック後

サーバーの構築

ここではサーバーの立て方を解説します。
「そんなん、わかってるよ!」という人は飛ばしてください。

サーバーシステム(Node.js)の導入

こちらでは、Node.jsをご利用いただきます。以下のウェブサイトをご覧いただき、サーバーマシンのオペレーティングシステムに適したインストーラーをダウンロードし、インストール手順に従って進めてください。


Nodejsのダウンロードページ

サーバーを立てる

サーバーのパッケージをインストールするためには、以下のコマンドを使用してください。

npm install -g http-server

サーバー(現段階ではファイルサーバー)を立てるには、配信したいフォルダで以下のコマンドを実行します。

http-server

サーバーを立てることができると、まずはローカルで使えるようになります。

http://localhost:8080/ で閲覧できます。ただし、サーバー機からのみ。8080の部分がポート番号となります。後で使いますのでポート番号を確認してください。

ローカルサーバーの様子

Tailscaleで外部公開

HTTPS通信を使えるようにする

HTTP通信では閲覧時にセキュリティの警告が出るのでHTTPSを利用することをお勧めします。

具体的には、以下の記事に述べられている内容を参考に、まずTailscaleの設定ページで次の項目を確認してください。

1.DNSページに管理コンソールからアクセスします。
2.MagicDNSを有効にします。
3.HTTPS Certificatesセクションの中にある、HTTPSを有効にするオプションをクリックします。

DeepLで翻訳しました

外部公開

以下のコマンドを実行します。ポート番号は置き換えてください。
書式)tailscale funnel -bg --https=443 <ポート番号>

C:\Users\user>tailscale funnel -bg --https=443 8080
Available on the internet:

https://nucbox5.dmrwxpdfdpw1x3f-royal.ts.net/
|-- proxy http://127.0.0.1:8080

Funnel started and running in the background.
To disable the proxy, run: tailscale funnel --https=443 off


このようにリンクが表示されれば成功です。
外部から表示されているURLにアクセスするとサーバーとして利用できます。
※例に示した「https://nucbox5.dmrwxpdfdpw1x3f-royal.ts.net/」にアクセスしても開けないことをご了承ください。
以下のように書くとhttps://nucbox5.dmrwxpdfdpw1x3f-royal.ts.net/voice/にアクセスしたときに8081番ポートに接続するようになります。

tailscale funnel --bg --set-path /voice/ localhost:8081

外部公開をキャンセルするには、以下のコマンドを実行します。

tailscale funnel reset

まとめ


  1. サーバーを公開するためにTailscaleを使いました。

  2. TailscaleはGoogle,Microsoft,Appleのアカウントを使って登録します。

  3. PC名がそのままURLに含まれるので、変更を推奨します。

  4. サーバーを立てる方法はさまざまですがNodejsでのやり方を紹介しました。

  5. 「保護されない通信」の警告を出さないようにHTTPSに対応させましょう。

  6. サーバーへのアクセスにはTailscaleを経由しますのでサーバー機のTailscaleはずっと起動しておいてください。

最後に

この記事を書くにあたって以下の記事を参考にしましたので紹介させていただきます。


この記事が気に入ったらサポートをしてみませんか?