Apache VirtualHostリダイレクト302(循環リンク)

Apache VirtualHostリダイレクト302(循環リンク)

知恵を求めているので、助けてください...ルーター/ Webサーバー/ dnsmasqサーバーとして機能する仮想マシンがあります。 IP:192.168.100.1。クライアントとして別のコンピュータがあります。

サーバーには、ポート80からポート8081にすべてのトラフィックをリダイレクトするIPTablesルールがあります。

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8081

また、サーバーに名前ベースの仮想ホストを作成し、次の設定を使用してポート8081でリッスンしました。

<VirtualHost *:8081>
RewriteEngine On
RewriteRulle .* http://cpt.haustor.org [R,L]
ServerName haustor.org
ServerAlias cpt.haustor.org
DocumentRoot /var/opt/mypage
<Directory /var/opt/mypage>
    DirectoryIndex index.html
    Require all granted
    Options Indexes FollowSymLinks Includes
</Director>

ドメイン haustor.org とサブドメイン cpt.haustor.org はサーバーシステムでローカルにホストされ、/etc/hosts ファイルに存在します。

192.168.100.1 cpt.haustor.org haustor.org

クライアントはWebサーバーのIP(192.168.100.1)を確認できます。クライアントからDigを発行します。

root@captivo:~# dig cpt.haustor.org

; <<>> DiG 9.9.5-9+deb8u2-Debian <<>> cpt.haustor.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41972
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096 
;; QUESTION SECTION:
;cpt.haustor.org.               IN      A

;; ANSWER SECTION:
cpt.haustor.org.        0       IN      A       192.168.100.1

;; Query time: 1 msec
;; SERVER: 192.168.100.1#53(192.168.100.1)
;; WHEN: Sun Aug 16 22:28:43 CEST 2015
;; MSG SIZE  rcvd: 60

この観点では、すべてが問題ないようですが、KonquerorがURLにアクセスしようとすると、循環リンクがあるというエラーページが表示されます。正直なところ、この問題を解決する方法がわかりません。現在私はDebian 8、Apache 2.4.10、dnsmasq 2.72を使用しています。

この問題を解決するのに役立ちます。

PS同じ設定がCentOS 6で問題なく実行されます。

BR、コンテンツ

修正する:

ログを見ると、ページが実際に同時に複数回呼び出されていることがわかります。

root@captivo:~# cat /var/log/apache2/captivo-custom.log 
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 531
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 534
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 533
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 533
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 533
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 533
192.168.100.115 - - [16/Aug/2015:22:49:19 +0200] "GET / HTTP/1.1" 302 533
root@captivo:~# 

答え1

明らかにRewriteRule何かが一致すると、ループが発生します。無効にします。

単にリダイレクトしたい場合http://haustor.org/到着http://cpt.haustor.org/<VirtualHost>、各仮想ホストに対して宣言されます。

<VirtualHost *:8081>
ServerName haustor.org
Redirect / http://cpt.haustor.org/
</VirtualHost>

<VirtualHost *:8081>
ServerName cpt.haustor.org
DocumentRoot /var/opt/mypage
<Directory /var/opt/mypage>
    DirectoryIndex index.html
    Require all granted
    Options Indexes FollowSymLinks Includes
</Directory>
</VirtualHost>

関連情報