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

nginxまとめ

10~11月はデータベースをちょっと勉強しておりましたが、12,1ぐらいはサーバーインフラ系の強化月間としようかと思います。 しばらくはnginxについてです。 Contents1 nginxの概要2 …

no image

SQLインジェクション

セキュリティ関係の知識がぬるいのでちょっとお勉強。 知っていることもあるが復習もかねて勉強を。 Contents1 SQLインジェクションとは?2 被害3 対策4 参考サイト・書籍5 ソース SQLイ …

no image

docker-compose(CentOS7系やMySQLのオプションなど)

以前、docker-composeを使った記事は使ったのですが、 実際にCentOS7やMySQLを扱った時につまづいたことなどを。 Contents1 CentOS7系のメモ1.1 docker-c …

no image

CentOS7の基本に関して

以前も学習しようとしましたが、CentOSの基礎について。 Contents1 デーモン2 ポートの割り当て3 systemdの役割 デーモン Linux上で動くサービスを提供をするプログラムのこと。 …

no image

FTPソフトでのアクティブモード&パッシブモードについて

Webアプリを作る場合、基本的にSSHが使えることが前提だったんですが、先日安いサーバーでWebサイトを作る案件があり、FTPでアップをする必要に迫られました。 その時に、「ログインはできているんだけ …