さくらのレンタルサーバーで常時SSLのリダイレクトのコツ

さくらのレンタルサーバーで、Wordpressではないウェブサイトの常時SSLを行うおうと、さくらインターネットのサポートサイトの記事を見ながら、

SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

skura_ssl_redirect.png

の設定を .htaccess に行い、概ねうまく動いたかのように思えたのですが、
トップページで使っている、rss.php というプログラムとJSで読み込んだ、RSSフィードの表示ができなくなりました。
htmlからは
<div id="feed">
</div>
で読みこむタイプの、よくあるfeedの表示方法です。

普通にHTTPSでアクセスすると表示されるのに、上記のredirectを.htaccessに記述すると表示されなくなります。

どうも、フィードの処理の中でリダイレクトループが起きているような感じです。
さくらのレンタルサーバーでは、SNIのSSLではリバースプロキシを使っているようなので、それを踏まえた上で、ループを防ぐために1行加えてみました。

SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{REMOTE_ADDR} !=999.999.999.999 ←この行★★★
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

999.999.999.999はレンタルサーバーのIPアドレスです。
Windowsならコマンドプロンプトで、
nslookup xxxxxxxxx.sakura.ne.jp(←初期ドメイン)
で表示されたIPアドレスを指定します。
なお、=のあとにスペースをあけてはいけません。FQDNでもだめです。IPアドレスを指定しましょう。

あと一歩というところで、「常時SSLがうまく動かない」とお悩みの方はお試しください。

ぐっどらっこ。