Bonjour,
Je travaille actuellement sur un système de portail captif principalement pour iPhone. Le système marche très bien avec tous les smartphones... sauf le iphone.
En effet, lorsque l'iPhone se connecte à un AP wifi, il va chercher directement cette page : http://www.apple.com/library/test/success.html
Le soucis, c'est que le système est local et n'est donc pas relié à internet.
Actuellement, l'iphone lance un overlay, ne trouve pas le site d'apple (normal) et tombe donc ensuite sur le contenu du serveur local (ce qui est normal).
Le problème, c'est ce temps de latence où l'iphone cherche le site d'apple.com. Ca prend de 10s à plusieurs minutes (tout dépend de ce que le cache de safari a en mémoire).
J'aimerais donc créer une fausse page apple en local et lorsque mon iphone se connecte sur le routeur wifi, il aille chercher la bonne page qui fasse une redirection.
Je suppose que cela se fait avec bind9 et les vhost d'apache2.
J'ai lu des docs... j'ai fais des test, mais à priori, j'ai une merdouille avec bind9.
Je suis sur une distrib debian Lenny avec apache 2, bind9, php, mysql
Voici mes fichiers : /etc/apache/sites-available/apple.com
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 server-test:/home/apple.com# /etc/init.d/bind9 restart Stopping domain name service...: bind9rndc: connect failed: 127.0.0.1#953: connection refused . Starting domain name service...: bind9 failed!
mon fichier named.conf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <VirtualHost *> ServerAdmin postmaster@apple.com ServerName www.apple.com ServerAlias apple.com *.apple.com DocumentRoot /home/apple.com/ <Directory /home/apple.com/> Options -Indexes FollowSymLinks MultiViews AllowOverride All </Directory> ErrorLog /home/apple.com/logs/error.log LogLevel warn CustomLog /home/apple.com/logs/access.log combined ServerSignature Off </VirtualHost>
mon fichier named.conf.options
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 zone "apple.com" { type master; file "/etc/bind/db.apple.com"; }
mon fichier db.apple.com
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-recursion { localhost; }; };
J'utilise comme routeur wifi un Buffalo Air Station G WHR-HP-G54.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $ttl 86400 apple.com. IN SOA apple.com. webmaster.apple.com. ( 2010020100 21600 3600 604800 86400 ) apple.com. IN A 192.168.10.9 Server IN A 192.168.10.9 www IN A 192.169.10.9
Help me please. Ca fait plusieurs semaines que je butte sur ce problème et cette solution me semble la dernière qui ait une chance de marcher :s
Merci
Partager