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

SSH鍵認証について+CakePHP2でのセッション切れ

鍵認証の設定をしたのでその際のメモなどを。 Contents1 SSH鍵認証2 CakePHP2セッション切れ SSH鍵認証 サーバーで公開鍵・秘密鍵を作成 サーバーで公開鍵を登録 クライアント側で秘 …

no image

nginxの設定ファイルの書き方に関して

Contents1 設定ファイルの構成と基本用語1.1 ディレクティブ1.2 コンテキスト2 基本的なディレクティブの遷移2.1 serverディレクティブ2.2 locationディレクティブ2.3 …

no image

障害調査フロー

実務でサーバーの障害が発生した時のフローなどをメモしおこうかと。 行ってしまうと「ログに始まり、ログにおわる」といった感じでしょうか。 サーバーエンジニアの方の作業をみてたんですが、基本的にはプログラ …

no image

dockerでの環境構築 〜コンテナ作成し、実作業ができるまで(mac編)

今や環境構築の保存や移行などが比較的自由にできるようにはなってきていると思います。 自分の場合は未だにvagrantのイメージフォルダを移行してやっていますが(汗)。 参考リンク vagrantで仮想 …

no image

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …

アーカイブ