知恵を求めているので、助けてください...ルーター/ 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>