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

docker-composeに関して

dockerで環境構築する場合は基本的に下記のような流れをとると思います。 それぞれの出来合いのイメージをpull イメージに様々なライブラリをインストール それらをコンテナとして起動&連携 …

no image

ネットワーク基礎 OSI参照モデルなど

ここ↓でネットワークの基礎についてかいてあるので定期的に勉強しようと思っています。 3分間 NetWorking Contents1 スニーカーネットからリソース共有2 LANとWAN3 OSI参照モ …

no image

apacheで複数インスタンスの起動

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。 早速調べなんとかできました …

no image

ドメイン取得とメール送信

現在ではメール配信サービスなどが充実しており、メールサーバーを立てる機会なんぞは少ないかとしれません。 そもそも一般的なレンタルサーバー会社の場合、レジストラとセットになっていることが多いですよね。そ …

no image

vimの基本的な使い方 設定ファイル、基本コマンド他

もう4年ぐらいの付き合いになる憎らしくもかわいいエディタvi(vim)について。 雑誌に特集があったのでこれを機にまとめてみました。シリーズものになるかも・・・ Contents1 Vi(vim)とは …