• Skip to main content
  • Skip to primary sidebar
  • ホーム
  • お問い合わせ

ハイパー仕事し隊

思い立った吉日!イロイロ試してオンリーワンの起業家を目指してます!

現在の場所:ホーム / ウェブアプリ関連 / Windows10 上の Ubuntu から “curl localhost” を実行すると “Connection refused” になる原因

Windows10 上の Ubuntu から “curl localhost” を実行すると “Connection refused” になる原因

2021年1月8日

以前、リダイレクトの動作について調べた記事、Windows 上の Ubuntu から curl ができなかったので、その原因を調べました。

参考までに、こちらの記事でリダイレクトの動作を確認しています。ぜひ見てください。

リダイレクトの仕組み知ってる?Flask で調べるてみるのだ。

コンテンツ内容

  • 1 localhost ではなく、正しい IP を指定する
  • 2 アプリ側 (例: Flask) も変更する
  • 3 実は、コマンドプロンプトから curl ができたという事実

localhost ではなく、正しい IP を指定する

エラーがでる原因は簡単で、Windows 上の Ubuntu は、別のネットワークにあるため、localhost では接続できていませんでした。

コマンドプロンプトから ipconfig で WSL の情報を取得できます。

C:\>ipconfig

Windows IP Configuration

Ethernet adapter vEthernet (WSL):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::853:aefe:83ca:8578%64
   IPv4 Address. . . . . . . . . . . : 172.17.126.149
   Subnet Mask . . . . . . . . . . . : 255.255.255.240
   Default Gateway . . . . . . . . . :

こちらの環境では、172.17.126.149 だということがわかります。

逆に、Ubuntu 上で Apache や Nginx などのサービスを起動した場合は、

  • Ubuntu 上では curl localhost が問題なく実行できる
  • コマンドプロンプトからは、WSL の IP を指定する必要がある

となります。

アプリ側 (例: Flask) も変更する

ただ、正しい IP を指定しただけでは、まだエラーがでます。

理由は、アプリ側で全てのリクエストを受け付ける必要があるからです。
(参考: Flask – Externally Visible Server)

Flask の場合は、host=”0.0.0.0″ を指定する必要があります。

# コマンドプロンプトから flask run で起動する場合
flask run --host=0.0.0.0

# python app.py で起動する場合
app.run(host="0.0.0.0")

これで、curl を使って、POST リクエスト送ったり、ヘッダー情報の確認ができるようになります!

実は、コマンドプロンプトから curl ができたという事実

と、ここまで調査したのですが、実は

Windows 10 1803 から標準で curl が使える ようです。。
(参考: Tar and Curl Come to Windows!)

無駄な調査をしてしまった気もしたが、原因が分かったのだからこれで良しとしよう。。。うん。

カテゴリー: ウェブアプリ関連
タグ: flask, linux

最初のサイドバー

簡単な自己紹介

ごく普通の 30 代サラリーマンです。世界を旅しながらの生活が目標!!
IT 全般に興味あり: Python (Flask, Django) / PHP (Laravel, Wordpress) / Golang / AWS / Network Security.
Read More…

サイト内検索

最近の投稿

  • 【VS Code プラグイン】Postman より便利!? Rest Client をオススメする理由
  • MySQL と phpMyAdmin を Docker Compose で作って、Python から接続する
  • Windows10 上の Ubuntu から “curl localhost” を実行すると “Connection refused” になる原因
  • リダイレクトの仕組み知ってる?Flask で調べるてみるのだ。
  • Apple 独自の 検索エンジンで何が変わるのか

アーカイブ

  • 2021年3月
  • 2021年1月
  • 2020年10月
  • 2019年3月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年5月
  • 2018年4月

タグ

amazon cloudfront amazon s3 aws coursera css django docker flask fullstack gcp github hawaii life in USA linux mongodb mysql postgresql pwa python sqlite vagrant

Contact
Privacy Policy and Term of Use
Copyright © 2023 · All rights reserved.