KUSANAGIでSSLへの恒久的な301をコード1行で実現する

2 min

Let’s Encryptなどで証明書を取得してSSL化したWordPress。

そこまではいいのだけど、非SSLのアドレスにアクセスできちゃったりしてませんか?

”常時SSL化”するためには証明書を取得するだけではなくて、暗号化されていないURLにアクセスさせないことも大切です。

KUSANAGIのnginx環境でなら、/etc/nginx/conf.d/ディレクトリの【プロファイル名】_http.confに1行追記するだけで常時SSL化ができます。

追記

KUSANAGIコマンドで一発でできるようです(後述)。

まず編集するのは【プロファイル名】_http.conf。

server {
listen 80;
server_name 【ホスト】 www.【ホスト】;
access_log /home/kusanagi/【プロファイル名】/log/nginx/access.log main;
error_log /home/kusanagi/【プロファイル名】/log/nginx/error.log warn;

この下あたりに次の1行を追記します。

return 301 https://$host$request_uri;

ちなみにApacheの場合は1行ではありませんが、.htaccessファイルに以下を追記すればOKです。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://【ホスト】/$1 [R=301,L]

これで、http://へのアクセスは全てhttps://に301リダイレクトされるようになりました。

ここから追記

KUSANAGIコマンドで一発でできることを、この記事を書いた後に知りました……。

よめねこ

ちゃんと調べてから記事書こうね。

はるしか

お恥ずかしや

ターミナルから、KUSANAGIコマンドを打ち込みます。

# kusanagi ssl --https redirect 【プロファイル名】

_人人人人人人人人人人人_
> たったこれだけ!! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

/etc/nginx/conf.d/【プロファイル名】_http.confを開いてみると、コメントアウトされていたSSL ONLYの行が有効になっていました。

rewrite ^(.*)$ https://【ドメイン名】$request_uri permanent; # SSL ONLY
rewrite ^(.*)$ https://www.【ドメイン名】$request_uri permanent; # SSL ONLY

コマンド実行で設定のリロードまで行ってくれていたので、打ちっぱなしでOK。

なんて親切なんでしょ……。

未経験からITエンジニアになりました!

今までは趣味としてプログラミングを独学してきたけど、やっぱりこれを仕事にしたい……!

そう思い立ったはいいものの、世間の情勢などもあり未経験でのエンジニア職の中途採用が絶望的な状況

大手転職エージェントを通して何社も面接を受けては落ちてを繰り返し、諦めかけていたのですが……。

気分転換で登録した転職サービスで、とある企業から内定をいただくことができました

同じように未経験からITエンジニアを目指している方へ、どんなに厳しくても可能性がゼロではないことを伝えたい。

ポイントは、IT業界に精通した転職サービスを利用すること。
これだけで少なくとも面接へ進める可能性がグッと高くなります。

あなたがもしIT特化の転職サービスに未登録で苦しんでいるなら、ぜひ利用してみてください。きっと可能性が広がりますよ!

\無料のIT系転職サービス/

はるしか

はるしか

ゲーム・漫画・クルマ・ガジェットなど多趣味な雑食系。
モノづくりが楽しくてプログラミングをポチポチしてたら本業エンジニアになってしまったASPの中の人。
動物占いは子鹿。
忘れっぽい自分へのメモ代わりの記事が多めです。

FOLLOW

カテゴリー:
関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です