Windowsファイアウォールはポート80を開いていますが、Apacheが接続できないようにします


11

私は非常に少数の(しかし重要な!)ページを提供するWindows 7マシンを持っています。ポート80 *へのトラフィックを許可する例外がありますが、Apache 2.2はまだページを提供できません(ただし、マシン自体から見ることができます)。ただし、Windowsファイアウォールを完全に無効にすると、ボックスにpingを実行してページを読み込むことができます。

Apacheがその仕事を行えるように、他に何を設定する必要がありますか?

*実際、例外を80だけではなく「すべてのポート」に変更しても、同じことが起こります。


3
1.サービステストツールとしてのpingの使用を停止します。ホストにpingを実行できるかどうかは、Webサイトが実行中でアクセス可能かどうかとは無関係です。2. Windowsファイアウォールでアクティブになっているネットワークプロファイルと、ルールがバインドされているネットワークプロファイル。
-joeqwerty

@joeqwerty:pingに言及するのは、追加情報を提供するためだけです。
チャールズ

回答:


10

ファイアウォールでポート80が開いているかどうかに関係なく、Apacheが正しく実行されている場合にpingが動作し始めるわけではありません。PingはICMPを使用します。これは、マシンからping応答を受信するためにファイアウォールで開く必要がある独自のプロトコルです。したがって、Apacheの設定/ファイアウォールの設定が機能しているかどうかを確認するためにpingを当てにしないでください。

TCP 80のファイアウォールルールに対応して、ルールのプロパティに移動し、3つのチェックボックス(ドメイン、プライベート、パブリック)がすべてチェックされているかどうかを確認してください。チェックされていない場合。 ここに画像の説明を入力してください

ここでは、Windows 7上で開いているポート80に順番に取る必要がある正確な手順とのHOWTOです:リンク

更新:

WindowsファイアウォールでApacheプロセス自体をブロックしていないかどうかも確認してください。
1. コントロールパネルに移動します
。2. [ システムとセキュリティ]を
選択します。3 . [Windowsファイアウォール]セクションで、[ Windowsファイアウォールを介したプログラムを許可する]を選択します。
ここに画像の説明を入力してください
4.アプリケーション名の左側にあるチェックボックスをオフにすると、ネットワークリソースにアクセスできなくなりますが、チェックするとアクセスが許可されます。
ここに画像の説明を入力してください
Apacheがリストにない場合は、[別のプログラムを許可する... ]ボタンをクリックして追加し、[ホーム/職場]および[公開]の下のボックスをオンにします。


3つすべてがチェックされます。Webサイトはブラウザで開きません(サーバー自体を除く)。
チャールズ

1
@Charles:その場合、次の5つのことを行います。1. Windows 7マシンでファイアウォールロギングを有効にします。2. Windows 7マシンにパケットキャプチャプログラムをインストールします。3.キャプチャを開始します。4.別のマシンからWebサイトを閲覧してみてください。5.キャプチャを停止し、それを調べて、ファイアウォールログで何が起きているのかを調べます。
joeqwerty

Inbound Rules左側のペインでルールを作成しましたか?
ジョージタシオウリス

@Charlesは私のアップデートをチェックしてください。
ジョージタシオウリス

1
@ジョージ:それだけです。「ポート80の例外に加えて」「Apacheサーバーの監視」を許可すると、機能しました。
チャールズ

2

サービス「ブランチキャッシュ」を確認し、実行中の場合は停止します。


1

ファイアウォールを無効にすることで問題が完全に解決されるが、例外ルールでは解決されない場合、あなたの例外には欠陥があると私は思います。

Microsoftよると、ファイアウォールの問題のトラブルシューティングの最初のステップは、アクティブなプロファイル(パブリック、プライベート、またはドメイン)を確認することです。

Windowsファイアウォールの問題のトラブルシューティングの最初の手順は、アクティブなプロファイルを確認することです。セキュリティが強化されたWindowsファイアウォールは、ネットワークの場所を認識するアプリケーションです。コンピューターが接続するネットワークの場所が変わると、Windowsファイアウォールのプロファイルが変わります。プロファイルには、アクティブなネットワーク接続のネットワークロケーションの種類に応じて適用されるWindowsファイアウォールの設定とルールが記述されています。

したがって、可能性の1つは、正しいルールを作成したが、プロファイルが間違っていることです。

お役に立てば幸いです。


良い考え、+ 1。これは私の問題ではありませんが、誰かがこの間違いを犯しているのを見ることができました。
チャールズ

0

httpd.confは、おそらくローカルホストまたはローカルサブネット上のクライアントのみに制限されています。

httpd.confセットで:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

そしておそらくこれも:

<Directory "E:/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Allow from all
</Directory>

ファイアウォールをオフにすると問題がなくなるため、問題ではありません。(また、Win7にアップグレードする前は、同じhttpd.confが何年も正常に機能していました。)
チャールズ

0

ファイアウォールは、ユーザーの同意なしに新しい接続で情報を共有することを許可しません。行うべきことは、ファイアウォールに同意することだけです。

  1. コントロールパネルのファイアウォール設定に移動します
  2. 詳細設定をクリックします
  3. [受信の規則]をクリックして、新しい規則を追加します。
  4. ポートに「ルールのタイプ」を選択します。
  5. これをすべてのプログラムに許可します。
  6. このルールをすべてのプロファイル、つまりドメイン、プライベート、パブリックに適用できるようにします。
  7. このルールに任意の名前を付けます。

それでおしまい。これで、同じネットワークに接続された別のPCとモバイルがローカルサイトにアクセスできます。開発を始めましょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.