自宅サーバーのWordPressウェブサイトに外部からアクセスできない

自宅サーバーのWordPressウェブサイトに外部からアクセスできない

基本的に、127.0.0.1 を使用してすべてに問題なくアクセスできますが、外部 IP (123.123.123.123) を使用すると、ページが見つかりません。

私のルーターは、HTTP ポート 80 をサーバーの内部 IP アドレスのポート 8080 にポート転送しています。つまり、(アプリケーション: HTTP | 開始: 80 | 終了: 8080 | プロトコル: 両方 | IP アドレス 192.168.0.101 | 有効 [はい]) ポート転送を停止すると、外部 IP を使用してルーターのページにアクセスできるため、転送が適切に行われていることがわかります。

私の仮想ホストファイルは次のとおりです:

NameVirtualHost *:80
    <VirtualHost *:80>
    DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
    ServerName example.com
    ServerAlias www.example.com
</VirtualHost>

私の httpd.conf ファイルは次のとおりです:

Listen 80
Servername localhost:80
DocumentRoot "/opt/lampstack-5.3.16-0/apache2/htdocs
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny, allow
    deny from all
</Directory>
<Directory "/opt/lampstack-5.3.16-0/apache2/htdocs">
    Options FollowSymLinks
    AllowOverride None
    Order allow, deny
    allow from all
</Directory>

答え1

名前ベースの仮想ホスティングを使用しています。別の名前を使用して Web サイトにアクセスしようとすると、デフォルトのサイトが表示されます。

NameVirtualHost *:80

Servername localhost:80

答え2

問題は、拒否権限を持つ DocumentRoot を指定したことから発生すると思いますが、404 Not Found ではなく 403 Forbidden Errors が表示されるはずです (少なくとも、あなたの設定を真似しようとしたときにはそうなります)。

DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress

このディレクトリにはエントリがないので<Directory >、デフォルトの権限を継承します。

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

拒否行をコメントアウトしてみてください

  #Order deny, allow
  #deny from all

または新しいエントリを作成してこの問題をテストする

<Directory "/opt/lampstack-5.3.16-0/apps/wordpress">
  Options FollowSymLinks
  AllowOverride None
  Order allow, deny
  allow from all
</Directory>

注記:今のところ、IP アドレスを使用してサーバーにアクセスする必要があります。www.example.com では、DNS エントリがないためどこにもアクセスできません (または、あったとしても、サーバーを指していません)。

答え3

ルーターの問題だったようです。ルーターを再起動したり、NAT リダイレクトを有効または無効にしてすべて試したにもかかわらず、ただ座っていただけで、ルーターがリセットされました。ルーターの管理ページに入るには、デフォルトのパスワードを入力する必要がありました (設定したパスワードではなく)。その後はすべて正常に動作しました。

また、vhostsファイルに何も入れないようにしてみると、うまくいくかもしれません。

教訓: 念のため、別のルーターを試してください。

関連情報