Azure

AzureのWindows Server 2022のWSL2でnginxをインストールしてみた。

はじめに

Windows Server 2022にWSL2がインストールできます。

前回の記事で紹介しました。

AzureのWindows Server 2022イメージはすぐにWSL2が使えます - 技術的な何か。
AzureのWindows Server 2022イメージはすぐにWSL2が使えます - 技術的な何か。

はじめに Windows Server 2022でもWSL2が6/22の累積アップデートから利用できるようになりました。 すぐに利用できます。 WSL2のインストール これといって難しい話はありません

level69.net

そこで活用法?としてNginxをインストールして外部からアクセスできるようにしてみましょう。

設定

nginxをインストールします。

sudo apt install nginx

いたって簡単です。

sudo service nginx start

サービスのスタートも忘れずに。

 

とりあえずFWをすべてOFFにしましょう(一番ダメな奴)

ちゃんと設定してください。80番ポートをパブリックで開けます。

あとAzure側でもNSGの設定が必要です。80番ポートを開けます。

 

さて、ここからが問題です。

ローカルからのアクセスは可能です。

WSLは通常外部からのアクセスを受け付けません。そこでnetshを利用してフォワーディングします。

  • listenaddress:仮想マシンのプライベートIPアドレス
  • connectaddress:WSL2のUbuntuに割り振らているプライベートIPアドレス(ip aで確認してください)
netsh interface portproxy add v4tov4 listenaddress=10.1.0.4 listenport=80 connectaddress=172.28.226.89 connectport=80

これで外部からの受付が出来るようになります。みんな大好きなこの画面が出ます。出ない場合はIPアドレス、FWを確認してください。

再起動後も有効になっています。下記のコマンドで確認できます。

C:\Users\azureuser>netsh interface portproxy show v4tov4

Listen on ipv4:             Connect to ipv4:

Address         Port        Address         Port
--------------- ----------  --------------- ----------
10.1.0.4        80          172.28.226.89   80

不必要ならば削除します。

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=10.1.0.4

 

まとめ

WSL2を使って外部公開するぐらいならUbuntuを立ち上げろとか言われそうですが面白そうなので。

WindowsをLinuxの機能を1台の仮想マシンで補えるのはある意味最強なのではないでしょうか。

-Azure
-