UWPアプリにループバック接続できない
Windows は セキュリティ目的で、 UWP(Universal Windows Platform)アプリにループバックアクセスできない。
具体的にはUWPでサーバを作ったとして、そのサーバに別のPCからアクセスはできるが(Firewallの設定とか必要だけどそれは今置いといて)、自分自身のPCからアクセスできない。
http://localhost 的な感じでアクセスできない、ということ。
開発とかめんどい、別PC用意すんの?と思ってたら抜け道があることがわかった。
以下にその方法を記すが、結論をいうとうまくいかなかった。なんでかはしらん。
CheckNetIsolation.exe を使ってループバックアクセスできるようにする
まずはループバックアクセスしたいアプリ名を取得する。
以下のコマンドで何となくあたりをつけて取得する。
今回は Microsoft Store から取得した MJPEGStreamerをループバック有効にしたいと思っていたので、MJPEGStreamerでひっかける。
PS >Get-AppxPackage | Select -Property Name,PackageFamilyName | Select-String MJPEGStreamer
@{Name=23433flyinggorilla.MJPEGStreamer; PackageFamilyName=23433flyinggorilla.MJPEGStreamer_9w9yej7y65a12}
PackageFamilyNameが必要となる。ここでは、 23433flyinggorilla.MJPEGStreamer_9w9yej7y65a12。
んで、以下のコマンドを実行。
PS >CheckNetIsolation.exe LoopbackExempt -a -n="23433flyinggorilla.MJPEGStreamer_9w9yej7y65a12"
成功しました。
成功しました、とか言われてもどうなんかわからんので確認。
PS > CheckNetIsolation.exe LoopbackExempt -s
リスト ループバックは AppContainer を除外しました
[1] -----------------------------------------------------------------
名前: 23433flyinggorilla.mjpegstreamer_9w9yej7y65a12
SID: S-1-15-2-1519130495-1896540745-4269555798-1075228035-3866979113-3690274334-556783814
成功しました。
うまく除外した、といっているのでOKなのだろう。
やってみたけどループバックアクセスできなかった
では早速Windows版のmjpeg-streamerを起動し、http://localhost:8000/stream.mjpeg でループバックアクセス...したけど映らん!
別のPCからはアクセスできてるので、やはりループバックの問題に引っかかっている。
困った。知らん。以上!