質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

Windows環境で動作している任意のサーバを見つける方法はありませんか

受付中

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 149

score 1

発生している問題

Win10環境で、なんのサーバもローカルで動かしているつもりはないのですが、localhostにアクセスすると、503 Service unavailableが返ってきます。

これが原因で、dockerなどでサーバを立てても、localhostでコンテナ内のサービスにアクセスできないなど、問題が生じています。

何とかしてローカルで動作しているサーバを発見する手段はないでしょうか。

試したこと

1 問題の起きていない別のwin10マシンで、ブラウザなどからlocalhostへアクセス
->ERR_CONNECTION_REFUSEDが返る。

2 問題のPCでlocalhostへアクセス
->503が返る。

よって、何かしらのサーバがローカルで動いていると判断しました。

netstat -nao | find "80"netstat -nao | find "443"をたたく。
-> とくにこれらポートを利用しているサービスは見つかりませんでした。

docker ps -aをたたく。
-> なんのコンテナも動作していないことを確認。

5 dockerを停止。
-> 状況変わらず。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • zembutsu

    2021/05/04 06:47

    エラー「503 Service unavailable」はテキストだけの文字列ですか?右クリックして HTML ソースコードを表示できる場合は、何かプログラムのサーバ情報が出てくるかもしれません。
    差し支えなければ、そのエラー画面のキャプチャも貼り付けていただければ、それが何かヒントになる場合もあります。

    キャンセル

  • momimomi

    2021/05/04 15:56 編集

    以下の通りです。

    >curl localhost
    ```
    <HTML>

    <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <META name="copyright" content="Copyright &copy; 1999 Digital Arts Inc.">

    <TITLE>ERROR</TITLE>
    <STYLE type="text/css">
    <!--
    .errtitle {
    font-size: 16px
    }

    td {
    font-size: 12px
    }
    -->
    </STYLE>
    </HEAD>

    <BODY bgcolor="#FFFFFF" text="#000000" leftmargin="16" topmargin="16" marginwidth="16" marginheight="16">
    <TABLE border="0" cellspacing="0" cellpadding="0" width="480" height="16">
    <TR>
    <TD width="480" height="16">&nbsp;</TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellpadding="6" cellspacing="0">
    <TR>
    <TD>
    <FONT size="4"><SPAN class="errtitle">ページを表示できません</SPAN></FONT>
    </TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellspacing="0" cellpadding="0">
    <TR>
    <TD>&nbsp;</TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellpadding="6" cellspacing="0">
    <TR>
    <TD>
    サーバーに接続できません。<BR>サーバーが存在しないか、接続拒否している可能性があります。 </TD>
    </TR>
    </TABLE>
    <TABLE border="0" cellspacing="0" cellpadding="0" width="480">
    <TR>
    <TD height="16">&nbsp;</TD>
    </TR>
    <TR>
    <TD height="16">
    <HR width="100%" size="2" color="#053394" noshade>
    </TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellspacing="0" cellpadding="0">
    <TR>
    <TD>&nbsp;</TD>
    </TR>
    <TR>
    <TD>
    <UL>
    <LI>ブラウザの[更新] ボタンをクリックするか、しばらくしてから再度アクセスしてください。</LI>
    <LI>URLを正しく入力したかどうかを確認してください。</LI>
    <LI>以前のページを表示するには、ブラウザの[戻る] ボタンをクリックしてください。</LI>
    </UL>
    </TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellspacing="0" cellpadding="4">
    <TR>
    <TD nowrap width="60" align="center">URL</TD>
    <TD>http://localhost/</TD>
    </TR>
    <TR>
    <TD nowrap width="60" align="center">IPアドレス</TD>
    <TD>(ローカル端末のIPアドレス)</TD>
    </TR>
    </TABLE>
    <TABLE border="0" cellspacing="0" cellpadding="0" width="480">
    <TR>
    <TD height="16">
    <HR width="100%" size="2" color="#053394" noshade>
    </TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellpadding="2" cellspacing="0">
    <TR>
    <TD>
    </TD>
    </TR>
    </TABLE>
    <TABLE width="480" border="0" cellspacing="0" cellpadding="0">
    <TR>
    <TD>&nbsp;</TD>
    </TR>
    </TABLE>
    <TABLE border="0" cellpadding="4" cellspacing="0">
    <TR>
    <TD>
    <FONT>DateTime:</FONT>
    </TD>
    <TD>
    <FONT>2021/05/04 14:26:11</FONT>
    </TD>
    </TR>
    </TABLE>
    </BODY>

    </HTML>
    ```

    キャンセル

  • bsdfan

    2021/05/04 20:56

    環境変数とかでproxyの設定をしていませんか?
    proxyを通っていたら、自分自身ではないところに接続しようとしています。

    キャンセル

回答 2

0

Windows PowerShell を管理者として実行し、
それから、ポート 80 で何のプロセスが動いているか調べるには、 Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess を実行します。

もし Docker が原因であれば、次のような com.docker.backend が動いている結果になります。

PS C:\WINDOWS\system32> Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    335      19    27264      30792       1.70   2740   2 com.docker.backend
     96       7      928       4820       0.03  20784   2 wslhost

また、 Docker が PC 内部で使えるホスト名 http://host.docker.internal にアクセスして応答がなければ、原因は Docker ではありません。

ウェブブラウザが Proxy を使うような設定になっていませんでしょうか。あるいは、ファイアウォール等のソフトウェアを導入されている場合、他にもシステム側でポート 80 を使っている可能性が考えられます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/05/04 16:05

    ありがとうございます。

    Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
    ですが、80,8080,443ともに存在しませんでした。

    また、host.docker.internalですが、同様に503が返ります。

    なお、C:\Windows\System32\drivers\hostsファイルに
    (ローカル端末のIP) host.docker.internal
    (ローカル端末のIP) gateway.docker.internal

    とあるため、おそらくlocalhostに解決されているのでは?と考えています。

    キャンセル

  • 2021/05/04 16:11

    管理者モードとして実行するコマンドプロンプトで、「netstat -ab」でDockerが見えてないのであれば、何かしらDockerかHyper-Vなどかのバグなどによって、残ったままになって見えている可能性はあるかもしれません。
    可能であれば、PCを再起動しても同じような状況が発生するかどうかや、Dockerイメージを全て削除したとしても(あるいはDocker Desktopを起動しない設定にしていたとしても)、503を返す何かが存在するのかどうかは1つの確認ポイントになると思います。

    キャンセル

  • 2021/05/04 19:58

    PCを再起動し、dockerを止めた状態であっても発生しましたので
    少なくともdockerが原因ではないだろうと当たりはつきました。

    キャンセル

  • 2021/05/05 06:02 編集

    ここまできますと、あとは「net stop http」コマンドを実行しますと、いくつか画面上に出てきますでしょうか。「次のサービスは HTTP Service サービスに依存しています」という表示と共に、HTTP を使う可能性があるプログラムの一覧が出てきます。ここでは確認したいので、コマンド実行後は「N」を入力して終了します。
    現象が発生するPCと、発生しないPCで結果を見比べたり、現象発生時と後でのコマンドを見比べることで、どのプログラムがポート80を使用しようとしているか特定できそうです。
    参考:https://docs.microsoft.com/ja-jp/troubleshoot/iis/httpsys-registry-windows

    キャンセル

0

netsh interface portproxy show all で、ポートフォワーディングの設定を確認してみてはどうでしょう?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る