以下に示すように、ubuntu 仮想ホスト ファイルで一般的な http から https へのリダイレクトを設定しました。
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
#UseCanonicalName Off
#ServerName test.example.com
#ServerAdmin webmaster@localhost
#DocumentRoot /var/www/test.example.com/web
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:443>
UseCanonicalName Off
ServerName test.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.example.com/web
SSLEngine on
SSLCertificateFile /etc/ssl/bcerts/b.crt
SSLCertificateKeyFile /etc/ssl/bcerts/b.key
SSLCertificateChainFile /etc/ssl/bcerts/b.ca-bundle
</VirtualHost>
上記の構成は、HTTP GET 要求に変換される iOS アプリからの SSL ではない http POST 要求があることを除いて、正常に動作します (おそらく 302 要求が常にこれを行うため)。ただし、iOS アプリ コードを変更せずに http POST リクエストを http POST リクエストのままにできるようにするには、Apache 構成が必要です。これを可能にする構成はありますか?