質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Linux

    3755questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    2691questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1810questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • HTTPS

    256questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

  • HTTPヘッダー

    89questions

    Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

さくらVPSで常時ssl(https)設定したく、htaccessの301がエラーになります。

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,246

kapimako

score 40

さくらの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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 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" を入れたらいつもの「リダイレクトが繰り返し行われました。」が出てアクセスできなくなりました。慌てて記述を削除しても直らず・・・(物凄くまずいですが…汗、すぐ直せないので調べてみます)

    キャンセル

回答 2

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]


の .* 部分は ^(.*)$ ではないですか?
無条件で飛びそうですが...

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/22 14:11

    お返事遅くなりすみません。はい、そうでうsね。汗。ご指摘ありがとうございます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Linux

    3755questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    2691questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1810questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • HTTPS

    256questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

  • HTTPヘッダー

    89questions

    Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。