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 を判定して
ヘッダー内容を変更する事でログイン画面が非表示になります。
