Raspberry Pi3WiFi環境を構築している時に

インターネットに接続していない環境だと

iphoneAndroid(6.0以上)から ログイン画面が

表示してたので、ログイン画面を非表示にする方法を

設定したのでメモ書きする事にしました。

 

設定条件

  1. Bind(DNS)の仕組みを理解していること
  2. Web(Apache等)の仕組みを理解していること
  3. ネットワークの仕組みを理解していること

※.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 を判定して

ヘッダー内容を変更する事でログイン画面が非表示になります。