skillup

技術ブログ

サーバー・ネットワーク

Let’s Encryptによるhttps化

投稿日:2020年5月11日 更新日:

以前下記の記事で、herokuでLet’s Encryptを使おうとしたのですが、結局使うことがありませんでした。

herokuでのLet’s Encrypt設定

どこかで使おうか・・と考えていたのですが、よく考えるとこのブログ自体httpsでなかったんですよね・・・。

このご時世、httpはまずいなあ・・と思い、https化しました。

その時のメモを。

中間証明書と秘密鍵の作成

今回はLet’s Encryptで作成しましたので、先ほどのリンクを実行し、

をサーバーの任意の位置に配置すればOKです。

通常証明書などは業者から年数千円〜数万円で購入するのが一般的かと思います。

その場合、「SSLの設定に関して」を参考にしていただければと思います。

あるいは信頼度も低くていいのであればオレオレSSLという方法もあります。

モジュールセット+apache設定ファイル更新

証明書(正確にはサーバー証明書と中間証明書の合体)と秘密鍵をサーバーにおいたあとはapacheかnginxのファイルに書き込みをします。

今回このブログはapacheで動かしてますのでそちらの設定手順を。

ライブラリインストール

Apache httpdで作るHTTPSサーバ

設定ファイル

/etc/httpd/conf/httpd.conf

上記の NameVirtualHost *:443 の部分を追加。これを書かないと個別のVirtualHostの設定が効きません。

/etc/http/conf.d/個別のvirtualhostの設定ファイル

上記設定を80番の下に追加します。

このあと、apache再起動すればOKです。

SSL でも VirtualHost (Apache2.2)

ポート開放

CentOS6ならiptables、CentOS7ならfirewallで443を開放します。

CentOS6の場合

CentOS7

起動したあとはこちらで443ポートが開放されているかを下記ツールで確認しましょう。

CMAN

.htaccess修正

最後にhttpでアクセスした時に強制的にhttpsに飛ばすようにアプリ側にhtaccessを追加しましょう。

今回、WordPressだったので下記のように設定しました。

追記

ちなみに画像やcss、jsにhttpのものが入っているとconsoleに下記のようにエラーメッセージがでて、httpsなのに、ブラウザの鍵マークが付与されません。

ありえる原因としてはコードの中に直でhttp://で書いている場所などがあるため、その部分を修正することにしましょう。

-サーバー・ネットワーク
-, ,

執筆者:


comment

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

関連記事

no image

大規模Webサービス技術入門 イントロ

一応WEBサービスを日々改修していますが、データが日々ふえ、大規模なサービスの対処法などを勉強する必要があるため、「大規模サービス技術入門」を少しずつ読んでいこうと思います。 ポイント データはディス …

no image

vagrantで仮想環境を別PCにコピー

vagrantで自分の作った環境を他人にコピーしたい機会があり、なんとか成功したのでメモします。いや~便利ですね・・・ 環境は vagrant 1.7.4 win8 です。 Contents1 準備2 …

no image

SAM(AWSのサーバーレスフレームワーク)について

LambdaやAPIGatewayをちょこちょこいじってますが、goなどを使っているとローカルでの開発時にはAPIなどと直接連携したりすることはできません。 またデプロイ自体が面倒で画面からポチポチや …

no image

SQSについて

以前、少しQueueの登録について書きましたが、今回はAWSのキューサービスであるSQSについて。 以前のリンク Queueの登録と実際の処理に関して SQSのポイントについて簡単にまとめて置きたいこ …

no image

yumとrpmについて

centOSのカーネルのバージョンアップで時間があるのでブログを更新。 redhat系ではソフトウェアをインストールするときにyumかrpmのコマンドを使うと思います。 私も日頃、両方使っているのです …