
私は自宅のネットワークにラズベリーパイ 4 ウェブサーバーを設置しました。Apache と PHP を実行しており、ネットワーク内からはウェブサイトにアクセスできますが、ネットワーク外ではいつも失敗します。
プライベート、パブリック、ウェブドメインでウェブサーバーにアクセスできますが、リクエスト元のホストが自分の自宅のネットワーク内にある場合に限られます。
ルーターでポート転送を有効にしていますが (ポート 80 とポート 443)、ラズベリーパイはこれらのポートをリッスンしていないようです。ポート 80 (https://www.yougetsignal.com/tools/open-ports/) ポートが閉じていると表示されます (Web サーバーが稼働しているので、ポートは開いているべきではないでしょうか?)。
もちろん、この問題の解決に関連する情報はすべて提供できますが、現時点では、他に何を言えばよいかわかりません...困惑しています 。何が問題なのかについてのアイデアが
あれば、ぜひ教えてください。
答え1
ダイナミック DNS を設定していますか? 外部 IP 経由で Web サーバーに直接アクセスしている場合、IP
Host:
ではなくドメイン名を使用するとブラウザーによって自動的に提供されるヘッダーがないため、Apache からエラー メッセージが表示されることがあります。Apache にデフォルトのホストが適切に設定されていることを確認してください。ルーターで Web 管理が有効になっている場合、ルーター自体の Web サーバーがポート 80 と 443 を占有している可能性があります。Web 管理をオフにするか、以下に説明するように代替ポートを使用してみてください。
ISP がポート 80/443 をブロックしている可能性があります。81 などのポートを使用してからアクセスし、
webserver through http://x.x.x.x:81
機能するかどうかを確認してください。機能する場合は、別のポートを使用する必要があります。ルーターにリストされている「パブリック IP」が 10.xxx、172.16.xx から 172.31.xx、または 192.168.xx で始まる場合、「キャリア グレード NAT」の背後にあるため、ポートを開くことができません。