
Apache+Wordpress マシン (Debian) に問題があります。デフォルトではポート 80 でリッスンしますが、これを変更してポート 9090 で「リッスン」するようになりました。
/etc/Apache2/ports.conf
[...]
NameVirtualHost *:9090
Listen 0.0.0.0:9090
[...]
/etc/apache2/sites-available/default
[...]
<VirtualHost *:9090>
[...]
y経由でアクセスしようとしましたが、http://10.250.10.70:9090
機能しません。(Chrome エラーERR_CONNECTION_REFUSED
:)
同じマシンで試してみると、wget http://10.250.10.70:9090/ -O -
次の出力が得られます。
--2015-05-14 12:31:43-- http://10.250.10.70:9090/
Connecting to 10.250.10.70:9090... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://10.250.10.70/ [following]
--2015-05-14 12:31:43-- http://10.250.10.70/
Connecting to 10.250.10.70:80... failed: Connection refused.
ポート80でもリッスンしているが、/etc/apache2/sites-available/defaultを変更していない場合
/etc/Apache2/ports.conf
[...]
NameVirtualHost *:9090
Listen 0.0.0.0:9090
Listen 0.0.0.0:80
[...]
WebSite はポート 80 で動作します (NameVirtualHost はポート 9090 でのみ動作するはずなので、理由はわかりません)。また、ポート 9090 経由でアクセスすると動作しますが、ポート 80 で同じ URI にリダイレクトされます。Web サーバー経由で再度実行すると、wget http://10.250.10.70:9090/ -O -
次の応答が返されます。
--2015-05-14 12:38:16-- http://10.250.10.70:9090/
Connecting to 10.250.10.70:9090... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://10.250.10.70/ [following]
--2015-05-14 12:38:16-- http://10.250.10.70/
Connecting to 10.250.10.70:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `STDOUT'
[<=> ] 0 --.-K/s <!DOCTYPE html>
[...]
まず、VirtualHost がポート 80 で動作する理由がわかりません。次に、このシステムが、私がリッスンするすべてのトラフィック (この場合は 9090) をポート 80 にリダイレクトする理由がわかりません...
私は完全に「迷子」です
皆さんありがとう
注記:
root@TWBLOG:~# apache2 -v
Server version: Apache/2.2.22 (Debian)
Server built: Dec 23 2014 22:48:29
答え1
おそらく、問題の原因はファイアウォールです。次のコマンドでポート 9090 を開きます。
sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT
ufw を使用している場合:
sudo ufw allow 9090
ポート 80 のすべてのリクエストを 9090 にリダイレクトする場合:
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 9090
答え2
アプリケーション (WordPress) がリダイレクトを生成しています。WordPress の構成を確認し、アクセスする新しいポートを反映するようにベース URI を設定する必要があります。
設定の変更については、WordPress のドキュメントも参照してください。http://codex.wordpress.org/Changing_The_Site_URL
Apache は定義に一致しないリクエストを受け取ると、<VirtualHost>
最初に見つかった (または唯一見つかった) デフォルトを使用します。これにより、ポート 80 にヒットするリクエストが引き続き WordPress の VirtualHost にヒットする理由が説明されます。
最後に、外部マシンからの接続に問題がある場合は、マシンのファイアウォールが新しいリスン ポートへの接続を許可しているかどうかを確認します。