ローカルのLaradockにSSLを設定してhttpsでアクセスする方法

こんにちは!
個人開発者の南です!

今回はローカル環境内にあるLaradockにSSLを追加して、「https」で開発しているアプリにアクセスする方法を紹介します。

最近、PayPalのExpressCheckoutを使ってプログラムを書いていたのですが、どうやらhttps経由でアクセスしないとダメかもと思い色々調べていました。

今回の記事を読むことで、ローカルのLaradockにSSLを導入する流れがわかると思います。

ちなみにSSL化の方法に関して、今回の記事は下記の方の記事を参考に、今後自分でやる時に忘れないようにメモとして残しています。

Laradockで複数サイトをSSL対応して同時に動かす

SSL化について、手順通りのものがなかなか見つからなくて、とても助かりました。

素晴らしい記事をありがとうございます!!

SSLを設定する手順について

ローカル環境内のLaradockにSSLを導入するには、下記の手順で導入していきます。

1.nginxの設定ファイルの変更

2,SSL証明書の追加

nginxの設定ファイルの変更について

laradock/nginx/sites/配下に、「default.conf」ファイルもしくは「app.product-name.conf」といったような設定ファイルがあると思います。

1つのサイトを運用している開発は、「default.conf」という設定ファイル。

複数のドメインで切って運用している開発は、「app.product-name.conf」、「app.product-name2.conf」という風に設定ファイルをわけていると思います。

そのファイルの中に、下記のような記述があります。

この記述の「#」の部分を外して、「任意の名前」の部分を好きな名前に変更しましょう。

僕は開発しているドメインの名前に変更して下記のようにファイルの中身を変更しました。


このように設定したら、設定したファイルを保存します。

SSL証明書の追加

設定したファイルの保存ができたら、今度は「laradock/nginx/」配下にある「startup.sh」をというファイルを開きます。

デフォルトだと、下記のような記述があるだけだと思います。

上記の下に下記のように記述を追加します。

「任意のアプリの名前」の部分には、「nginxの設定ファイルの変更」のところでコンフィグファイルで記述したものと同じものを設定します。

上記を追加して、僕は下記のようなファイルになりました。


これでSSL証明書の追加も完了です。

これが完了したら、一度Laradocで稼働させているもの「docker-compose」コマンドで停止させましょう。

ちなみに、このコマンドは「laradock」のディレクトリ内で実行します。

「docker-compose」コマンドで停止させたら、次はLaradockのnginxをビルドし直します。

ビルドし直すには、下記のコマンドを使用します。

ちなみに、このコマンドは「laradoc」のディレクトリ内で実行します。

コマンドを実行すると下記のように色々表示されます。


「Successfully tagged laradock_nginx:latest」と表示されたら、ビルド完了なので、いつものようにdockerを立ち上げましょう。

僕は下記のコマンドをいつも立ち上げる時に使用しているので、下記のコマンドを実行します。

このコマンドも「laradock」のディレクトリ内で実行します。

立ち上げた後に、httpsで自分のサイトにアクセスしてみましょう。

下記のように、httpsでアクセスすることができます。


GoogleChromeのエラーについて

おそらく、そのまま普通にChromeでアクセスすると下記のようChromeから警告が表示されると思います。


これは、ローカルで使用している証明書がオレオレ証明書なためエラーが出ています。

色々調べてみたのですが、対処の仕方がわかりませんでした。。。

ただこの状態でも、サンドボックスのPayPal環境にアクセスできるので特に問題ないかと思います。

このエラーには、下記の順番で対処すればhttpsでサイトにアクセスできます。

1.詳細設定をクリック。


2.表示された「自分のドメイン」にアクセスする(安全ではありません)をクリック。


まとめ

今回は、ローカル内のLaradockにSSLを導入してhttpsでアクセスする方法を紹介しました。

今回の記事が同じように悩んでいる方のお役に立てれば幸いです。

この記事を書いた人

南 健太郎

1991年生まれ。都内でエンジニアをしています。
このブログでは、個人開発や日々の技術に関する情報などを発信していきます。