apacheの不思議

proxyを動かそうと思い、

sudo a2enmod proxy proxy_http proxy_ftp proxy_connect

とかやって、

/etc/apache2/mods-available/proxy.conf で

ProxyRequests On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Deny from all
Allow from localhost
Allow from 192.168
</Proxy>

と設定したが、ブラウザのproxy指定でlocalhostと指定すると、Access deniedとか言われる。

Allow from localhost

Allow from 127.0.0.1

とやって、proxy設定を127.0.0.1とやるとOK。

noizumi@bluewolf:~$ nslookup localhost
Server:        192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
Name:    localhost
Address: 127.0.0.1

だし、別におかしいところは無いとは思うが、

noizumi@bluewolf:~$ telnet localhost 80
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
GET http://www.noizumi.org/

だと、デナられる。

noizumi@bluewolf:~$ telnet 127.0.0.1 80
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
GET http://www.noizumi.org/

127.0.0.1の指定だと何ともない。

WHY?

で、今結果を見ていてハタと気がついた。

答えは /etc/hosts の中にあった。

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback

ipv6か。
ipv4の localhost とipv6の localhost は別物なのねん。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>