Raspberry Pi3 のWiFi環境を構築している時に
インターネットに接続していない環境だと
iphone とAndroid(6.0以上)から ログイン画面が
表示してたので、ログイン画面を非表示にする方法を
設定したのでメモ書きする事にしました。
設定条件
- Bind(DNS)の仕組みを理解していること
- Web(Apache等)の仕組みを理解していること
- ネットワークの仕組みを理解していること
※.1,2,3の事が理解出来てないと難しいです。
設定内容だけをメモ書きとして記入します。
設定方法(apache(http版))
<VirtualHost *:80> ServerName www.apple.com:80 ServerAdmin webmaster@localhost DocumentRoot /var/www/html/apple ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined env=!nolog <Directory /var/www/html/apple> Options Includes ExecCGI FollowSymLinks AllowOverride All Require all granted DirectoryIndex index.php index.html </Directory> </VirtualHost>
設定方法(apache(https版))
<IfModule mod_ssl.c> #<VirtualHost _default_:443> <VirtualHost 192.168.43.1:443> ServerName 192.168.43.1:443 ServerAdmin webmaster@localhost DocumentRoot /var/www/html/apple <Directory /var/www/html/apple> Options Includes ExecCGI FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/certs/server.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # MSIE 7 and newer should be able to use keepalive BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
設定方法(DNS(bind))
$TTL 86400 @ IN SOA apple.com root.apple.com. ( 2016012100 ; Serial シリアル番号(YYYYMMDDNN) 3600 ; Refresh リフレッシュ間隔 (s) 900 ; Retry リトライ間隔 (s) 604800 ; Expire ゾーンデータの有効時間 (s) 86400 ; Minimum ネガティブキャッシュの有効時間 (s) ) IN NS apple.com. IN MX 10 apple.com. IN A 192.168.43.1 dns IN A 192.168.43.1 * IN CNAME dns www.appleiphonecell.com IN A 192.168.43.1 www.thinkdifferent.us IN A 192.168.43.1 www.airport.us IN A 192.168.43.1 www.ibook.info IN A 192.168.43.1 www.itools.info IN A 192.168.43.1 connectivitycheck.gstatic.com IN A 192.168.43.1
設定方法(Android版)
①.vi /var/www/html/apple/generate_204/.htaccess
※..htaccess を作成します。
RedirectMatch 204 ^(.*)$
ステータスコード が 204(204 No Content)になる事で
ログイン画面が表示しなくなります。
設定方法(iphone版)
①.vi /var/www/html/apple/index.php
※.index.php を作成します。
<?php $user_agent = $_SERVER['HTTP_USER_AGENT']; if( strstr( $user_agent , 'CaptiveNetworkSupport' ) ){ header('Content-Type: text/html'); header('Connection: close'); header('Vary: Accept-Encoding'); echo '<HTML><HEAD><TITLE>Success</TITLE></HEAD><BODY>Success</BODY></HTML>'; } else { (本処理) } ?>
ユーザーエージェントからCaptiveNetworkSupport を判定して
ヘッダー内容を変更する事でログイン画面が非表示になります。