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

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

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

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

HTTPS

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

HTTPヘッダー

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

Apache

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

Linux

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

Q&A

解決済

2回答

4300閲覧

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

kapimako

総合スコア39

CentOS

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

HTTPS

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

HTTPヘッダー

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

Apache

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

Linux

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

0グッド

0クリップ

投稿2017/01/18 13:32

さくらの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"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2017/01/19 03:41

別の設定ファイルで、302 でリダイレクトしている設定があるのではないでしょうか。 RewriteRule, Redirect, RedirectMatch などで。
kapimako

2017/01/19 19:16

ありがとうございます。Redirect の記述が httpd.conf に書いてありましたので、コメントアウトしました。htaccessの方で 301,Lを入れると302が返ってくるので、記述を色々試していていますがまだ、解決に至らずindex.phpの中のソースのhttpが原因なのか?明日テストしてみます。
kapimako

2017/01/19 20:14

今、同じような質問から、https://teratail.com/questions/28849 でTaichiYanagiya様のアドバイスを拝見しました。https://hstspreload.org/ でテストしたら、index.html内のhttpをhttpsに直す。(これは理解しました)ただ、「あなたのサイトはリダイレクトが多すぎます。」と表示されたのでループのことを言っているのか?1つ1つ潰していきたいと思います。。。
kapimako

2017/01/19 21:33 編集

http://tuono034s.com/web-entry/2310/ でHSTSの設定は注意と書いてあったのですが、試しにhtaccessに Header set Strict-Transport-Security "max-age=31536000" を入れたらいつもの「リダイレクトが繰り返し行われました。」が出てアクセスできなくなりました。慌てて記述を削除しても直らず・・・(物凄くまずいですが…汗、すぐ直せないので調べてみます)
guest

回答2

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でリダイレクトをかける前にやっておく。

投稿2017/01/22 05:39

編集2017/01/22 05:43
kapimako

総合スコア39

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

気になったのですが、

RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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

投稿2017/01/20 16:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kapimako

2017/01/22 05:11

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問