はじめに
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台の仮想マシンで補えるのはある意味最強なのではないでしょうか。