web-dev-qa-db-ja.com

IISExpressを実行しているlocalhostに接続しようとしたときのERR_CONNECTION_REFUSEDを解決する方法 - エラー502(Visual Studioからデバッグできません)

これはWindows Server 2008上で実行されており、数ヶ月前に動作していました。私は今VSを使った開発作業のためにこのサーバを再び使っています。

これは、いくつかのテストサイトにもサービスを提供するために使用されているライブWebサーバーです。

これは、Visual Studioを実行しているときに、デバッグのために自分のプロジェクトを起動したときに発生しました。

IISExpressが起動されたときにlocalhost:xxxxを介して任意のサイトを起動しようとしています(構成内の実際のポート番号を使用してさまざまなサイトにアクセスします)。

This webpage is not available

ERR_CONNECTION_REFUSED

私は他の人が似たような問題を抱えているのを読んだので読んだので - 私はすでに数日間ここにいました ほとんどのこと 私はmanagedruntimeversionを "v4.0"から "v4.0.30319"に変更することを含めて読みましたmsgstr ".net 4.5(これまでにやらなければならなかったことはありません)およびロギングモジュールを無効にすること(すべての提案があります ここ )。".

私のhostsファイルには、内部サーバーのIPアドレスを指すエントリが2つしかありません。 localhost関連のIPまたは参照はありません。

IIS Express、およびVisual Studio 2013を再インストールすることまで行ってきました。また、これを解決するための新しいWebApplicationサイトも作成しました(単純で他の複雑なバインディングはありません)。

Fiddlerを起動すると、ページに次のように表示されます。

[Fiddler] The socket connection to localhost failed. 
ErrorCode: 10061. 
No connection could be made because the target machine actively refused it 127.0.0.1:23162

Fiddler capture

IEのLAN接続セクションからすべてのプロキシ設定を削除しました。VSのred-xポップアップが表示される前は、IISExpressを起動できませんでしたのようなものです。

これはSSLと非SSLの問題ではありません。

私はTFSサーバーをインストールしました - 邪魔をしている奇妙なバインディングがあった場合に備えてアンインストールしました。

IISExpressのconfig/settingsフォルダを何度か削除してみました。

現在のapplicationhost.configに含まれるもの:

<site name="WebApplication1" id="4">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\TFS-WorkRepository\Sandbox\WebApplication1\WebApplication1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:23162:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />

really-stuckのタグがあったらいいのに。

私は新しいサーバーを回転させることに関しては行きたくないので、離れて提案してください。

- UPDATE -

URLバーにコンピュータ名またはIPアドレスを入力すると、xxxx ERR_CONNECTION_TIMED_OUTではなくERR_CONNECTION_REFUSEDが表示されます。

72
ElHaix

プロジェクトのポート番号を変更してみますか?

プロジェクトのプロパティ→Web→サーバー→プロジェクトのURL:

enter image description here

Create Virtual Directoryをクリックすることを忘れないでください、あるいはあなたがあなたのポート番号を変えた後に仮想ディレクトリを作成するためのプロンプトに「はい」と答えてください! (Thanks Connor

注:問題が何であるのか、またはその原因が何なのかわからないので、答えとしてこれを投稿するのはやや消極的ですが、同様の問題があり、ポート番号を変更するとうまくいきませんでした。私はこれが他の誰かのためにも同様に働いたというコメントの提案の中でこれを投稿しているだけです。

私の場合は、使用している特定のポート番号と何かが競合しているように見えたので、別のポート番号に変更したところ、サイトがすぐにポップアップ表示されました。それが古いポート番号に対してどういう意味を持つのか、または今後使用できるようになるかどうかはわかりません。たぶん私自身より知識のある人がこれに参加することができます。

78
sǝɯɐſ

すべての答えをありがとう。私はそれらすべてを試しましたが、どれも私のために働きませんでした。うまくいったのは、(プロジェクト/ソリューションのフォルダーにある).vsフォルダーからapplicationhost.configを削除し、新しい仮想ディレクトリを作成することです([プロジェクトのプロパティ]> [Web]> [仮想ディレクトリの作成])。これが他の人に役立つことを願っています。

33
Annie Lagang

この問題は、最近、アプリケーション設定でIPアドレスのバインドを使用していたために発生する可能性があります。

問題を解決するための手順

  • 管理者の下のコマンドを実行してコマンド端末にアクセスする

netsh http show iplisten

あなたが以下のような何かを見るならば、この解決策はあなたを助けないかもしれません。

IPリスンリストに存在するIPアドレス:

0.0.0.0

あなたが0.0.0.0とは違う何かを見るならば、これを直すために以下のステップを試みなさい。

  • 昇格されたコマンド端末でこれらのコマンドを連続して実行する

netsh http delete iplisten ipaddress = 11.22.33.44(11.22.33.44は削除が必要な実際のIPです)

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

そして今、あなたのissexpressはlocalhostバインディングに来るどんなpingにも耳を傾けるように設定されています。

21

私は自分のマシン用にこれを修正しました。多分それはいくらかのために働くでしょう。たぶん他人のためではありませんが、ここに私のために働いたものがあります。

IISでは、デフォルトのWebサイト(または、アプリを実行しているWebサイト)にhttpsのバインディングを追加する必要がありました。

enter image description here

今私のlocalhostはVisual Studioからデバッグするときに動作します。

9
Stuart

私の場合は、管理権限なしでIISを起動したことが原因です。管理者としてIISを起動してサイトを起動したとき、うまく機能していました

4
sam

Samの解決策は私のために働きました、しかし私は永久的な解決策として管理者として走りたくありませんでした。

これが私の場合の解決策です。

  1. 管理者としてCMDを実行
  2. 「netsh http show urlacl」と入力して、関連するポートで予約されているURLを見つけます。
  3. 「netsh http delete urlacl url = YourReservedUrlHere」と入力します。

その後、管理者権限を必要とせずにアプリを実行できました。しかし、それは外部のコンピュータから私のアプリを閲覧することができなかったのです。今のところ私のために十分に近い。

3
RoyBS

私の場合、無限ループ/スタックオーバーフローが原因でした。

2
Josh

SSLを有効にしてブラウザのアドレスを使用した後、Project Proprieties - > Debugの順に選択して解決しました。

enter image description here

1
DigaoParceiro

私はVisual StudioをRun as administratorで起動することでこの問題を解決しました。プロジェクトをローカルのIISに公開する場合も同様です。

これを永久に設定するには: -

  1. Visual Studioアイコンを右クリック
  2. Propertiesを選択
  3. Advancedをクリック
  4. Run as administratorがチェックされていることを確認してください
  5. OKをずっとクリックしてください。
  6. Visual Studioを起動し、プロジェクトをロードしてデバッグを開始します。
1
joehanna

再構築すべて私のために働いた。 VS2013、IISエクスプレス。

0
JohnWrensby

これは、この問題を抱えている特定のサブセットに関連している可能性があります...おそらく異なるフレーバーです。

RELEASEでhttpsリダイレクトを強制していました。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
  #if !DEBUG
  filters.Add(new RequireHttpsAttribute());
  #endif    
}

そして、私のiis expressではhttpsは有効になっていません。 DEBUGで正しく動作する

0
Pinch

私の問題は、認証プロセスにおけるリダイレクトURIの完全な理解不足であることが判明しました。

次の宣言を含むコードをダウンロードしました。

string redirecturi = " http:// localhost/googlesignin ";

私はウェブサイトのテンプレートでvs2015を使用していました。私のウェブサイトには "googlesignin"ウェブページはありません。

それでは、なぜ私のサイトを開発している間にこれが数日間まったく機能しなかったのでしょうか。

ランダムなバグが失敗するはずの場所でコードを機能させる可能性があるという生きた証拠。

私はgooglesiginを私のWebページの名前であるGoogleDriveに変更しました、そしてそれはすべてうまくいきました!

私はばかです!

0
user2715390

私の場合、同僚がソリューション名を変更して、プロジェクトの最新バージョンを入手した後、IIS EXPRESSを使用してWebアプリケーションを実行した後、GoogleクロムでメッセージERR_CONNECTION_REFUSEDを受け取りました。

私がインターネット上で見つけたすべての解決策を試した後、ついに私はこれらのステップで問題を解決しました:

  1. VSを閉じる
  2. プロジェクトフォルダ内の.vsフォルダを削除します enter image description here

  3. 管理者として実行VS

  4. [デバッグ]> [アプリケーション]プロパティ> Webを開きます。

  5. プロジェクトURLでポートを変更して、httpsを使用することを忘れないでください。私の場合は、httpを使用してもまだ機能しないからです。

  6. Create virtual directoryをクリック

  7. IIS EXPRESSを使用してアプリケーションを再度実行してください。

  8. そしてWebアプリケーションは正常に実行されました。

これらが役立つことを願っています。

0
Satria Janaka

私は最近私が他のマシンからソースコードをコピーするときにこの問題に遭遇します。

- > .vsフォルダを削除します(隠しフォルダですので、隠しフォルダの表示オプションを有効にしてください)。
- >ビジュアルスタジオを開き、プロジェクトをビルドします。 Visual Studioは現在のシステム構成に従って新しい.vsフォルダを作成します

私はChromeでたくさんの方法を試したが、私のために働いた唯一のことは "閲覧履歴データを消去する"

標準が機能していなかったので、 "高度な"バージョンをやらなければなりませんでした。私はそれが "Content Settings" であったのではないかと思います。

0
GrowthCode

(私にとってはうまくいきました)簡単な回避策はlocalhostの代わりにIPアドレスを使うことです。これはあなたの開発作業には問題ないはずです。

0
raj240

私は同じ問題を抱えていました。私はこれらのステップを試しました:

  1. Visual Studio 2017を終了しました
  2. [solutionPath] .vs\config\applicationhost.configを削除しました
  3. 解決策を再度開き、[仮想ディレクトリの作成]をクリックしました。
  4. 実行しようとしました=> ERR_CONNECTION_REFUSED
  5. 失敗しました

別の試み:

  1. Visual Studio 2017を終了しました
  2. [solutionPath] .vs\config\applicationhost.configを削除しました
  3. 。\ Documents\IISExpress\config\applicationhost.configを削除しました。
  4. 解決策を再度開き、[仮想ディレクトリの作成]をクリックしました。
  5. 実行しようとしました=> ERR_CONNECTION_REFUSED
  6. 失敗しました

別の試み:

  1. Visual Studio 2017を終了しました
  2. [solutionPath] .vs\config\applicationhost.configを削除しました
  3. 。\ Documents\IISExpress\config\applicationhost.configを削除しました。
  4. C:\ Windows\System32\drivers\etc\hostsに127.0.0.1 localhostを追加しました。
  5. 解決策を再度開き、[仮想ディレクトリの作成]をクリックしました。
  6. 実行しようとしました=> ERR_CONNECTION_REFUSED
  7. 失敗しました

それが働いたこと:

  1. Visual Studio 2017を閉じます
  2. [solutionPath] .vs\config\applicationhost.configを削除します。
  3. 「コンピュータの証明書の管理」を起動し、「個人用 - >証明書 」で証明書「localhost」を探します enter image description here
  4. その証明書を削除します(あなた自身の責任でこれをしてください)
  5. コントロールパネル\コントロールパネルのすべての項目\プログラムと機能を起動します。
  6. "IIS 10.0 Express"(または独自のIIS Expressバージョン)を探します。
  7. "修理"をクリックしてください enter image description here
  8. ソリューションを開き、[仮想ディレクトリの作成]をクリックしてください。
  9. Webプロジェクトを起動します。
  10. あなたはこの質問を受けるでしょう: enter image description here 。 「はい」をクリック
  11. あなたはこの質問を受けるでしょう: enter image description here 。 「はい」をクリック
  12. 今それは働きます。
0
Lucian

スタートページも指定していることを確認してください。スタートページとして使用する.aspxページを右クリックして、[スタートページとして設定]を選択します。

0
Glade Mellor

おそらくあなたの問題とは関係ありませんが、今日も同じ問題がありました。結局のところ、URL書き換えモジュールを有効にして、サイトでHTTPの代わりにHTTPSを使用するように強制していたため、実稼働環境ではこれで十分に機能しました。しかし、私のデフォルトシステム内でアプリケーションとして実行される開発システムでは、失敗しました...
判明したように、デフォルトのサイトにはHTTPSのバインドがなかったため、書き換えモジュールはHTTPからHTTPSに送信しますが、HTTPSポートをリッスンしていませんでした...
同様の理由でこの問題が発生する可能性があります。このエラーは、アクセスしようとしているサイトに適切なバインディングがない場合に発生するようです...

0
Wim ten Brink