さくらVPSで常時ssl(https)設定したく、htaccessの301がエラーになります。
解決済
回答 2
投稿
- 評価
- クリップ 0
- VIEW 2,011
さくらのVPSを使用してますが、初期設定は知人にしていただいたので、恥ずかしながらapacheの知識は殆どなくググって調べてコピペしているレベルです。
htaccessの設定でhttpsにリダイレクト301をかけたく、うまくいきません。
(画面が真っ白、Chromeではxxxxx.comでリダイレクトが繰り返し行われました。と表示されます)
下記、リダイレクトが上手くいってるかどうかチェックしてくれるツールでURLをたたくと
http://tools.seochat.com/tools/header-checker-tool/
下記、xxxxxは任意ドメインになります。
結果:
http://www.xxxxx.com - 301恒久的な移動
https://www.xxxxx.com/ - 見つかった302
http://www.xxxxx.com/ - 301恒久的な移動
https://www.xxxxx.com/ - 見つかった302
何が原因かわかりますでしょうか。
ちなみに、SSL認証はさくらインターネットのSSLプランでのrapid.sslとは違うものです。(これは特に関係ないかと。。)
ほぼ、#コメントアウトですが、元々設定されてあった(前の担当者)部分を1個1個#で消していって原因をさぐっています。#の部分は一度試しています。どなたかご教示お願いできますでしょうか。よろしくお願いいたします。
Options +FollowSymLinks +ExecCGI
#<IfModule mod_rewrite.c>
RewriteEngine On
# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /
#20170118
DirectoryIndex index.php index.html index.cgi
#RewriteCond %{HTTP_HOST} ^http://xxxxx\.com
#RewriteRule ^(.*) http://www.xxxxx.com/$1
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
#RewriteRule ^(.*)$ https://www.xxxxx.com/$1 [R=301,L]
# we skip all files with .something
# comment the following 3 lines to allow periods in routes
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]
# we check if the .html version is here (caching)
#RewriteRule ^$ index.html [QSA]
#RewriteRule ^([^.]+)$ $1.html [QSA]
#RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
#RewriteRule ^(.*)$ index.php [QSA,L]
#</IfModule>
# big crash from our front web controller
ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
check解決した方法
0
結論から申しますと、私のスキルではVPSのhttps常時接続はすぐには無理だと分かり断念しました。ご協力してくださった方、ありがとうございました。きちんと準備して今度は取り掛かりたいと思います。
経緯:
1/18日から、httpd.confやhtaccessを色々試して、結局HSTSの設定をhtaccessに書いたら302.307の交互のループで、真っ白になりあわてて消しても真っ白な状態が何日も続きました。
HSTSの削除を試し、"max-age=0秒" を記述しても直らず、サイトが見られない状態が3日位続きました。
1/22日現在、サイトが一部見れることが判明。再度一番最初のhttpd.confとhtaccessに戻してリブートし、サイト全部のURL(http,https,http://,http://www)が見られることを確認。
反省点:
・HSTSのリダイレクトは間違えると暫くサイトが表示されない、何日で復旧するかわからない。
(私の場合2-3日でした)
・さくらインターネットvpsでhttps常時接続するには、RewriteCond %{HTTPS} offをRewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$にするようです。
・https化には順番があり問題の切り分けがすぐ分るように、html,php内のhttp:で書かれた該当リンクはhtaccessでリダイレクトをかける前にやっておく。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
気になったのですが、
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
の .* 部分は ^(.*)$ ではないですか?
無条件で飛びそうですが...
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 89.99%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
TaichiYanagiya
2017/01/19 12:41
別の設定ファイルで、302 でリダイレクトしている設定があるのではないでしょうか。 RewriteRule, Redirect, RedirectMatch などで。
kapimako
2017/01/20 04:16
ありがとうございます。Redirect の記述が httpd.conf に書いてありましたので、コメントアウトしました。htaccessの方で 301,Lを入れると302が返ってくるので、記述を色々試していていますがまだ、解決に至らずindex.phpの中のソースのhttpが原因なのか?明日テストしてみます。
kapimako
2017/01/20 05:14
今、同じような質問から、https://teratail.com/questions/28849 でTaichiYanagiya様のアドバイスを拝見しました。https://hstspreload.org/ でテストしたら、index.html内のhttpをhttpsに直す。(これは理解しました)ただ、「あなたのサイトはリダイレクトが多すぎます。」と表示されたのでループのことを言っているのか?1つ1つ潰していきたいと思います。。。
kapimako
2017/01/20 05:38 編集
http://tuono034s.com/web-entry/2310/ でHSTSの設定は注意と書いてあったのですが、試しにhtaccessに Header set Strict-Transport-Security "max-age=31536000" を入れたらいつもの「リダイレクトが繰り返し行われました。」が出てアクセスできなくなりました。慌てて記述を削除しても直らず・・・(物凄くまずいですが…汗、すぐ直せないので調べてみます)