U-Yuri’s 健忘録

U-Yuri’s 備忘録

プログラミングを勉強しています。アウトプットに活用しているブログです。

nginxでSSL対応のサイトを作る(オレオレ証明書の発行)

からしたら何もかも初めてのことなので忘れないように作業内容を残す。

■前提
VirtualBoxDebianmacbookで使用
ドメインGoogleドメインで取得
SSLはVirtual Hostのサイトに適用
・証明書は「オレオレ証明書」を利用
・さくらVPSを使わない

 

■ Opensslを使用し「オレオレ証明書」を発行する
Opensslコマンドない場合は、sudo apt-get install openssl でインストールする。

※私はここでsudo apt-get をアップデートしないとインストールできなかった。

①$ openssl genrsa 2048 > server.key #秘密鍵の作成
②$ openssl req -new -key server.key > server.csr  #証明書要求
③$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
#サーバー証明書の作成

上記を順番に実行していく。

参考:オレオレ証明書をopensslで作る(詳細版) - ろば電子が詰まつてゐる

 

■上記②まで進んだ時の、s細かい設定内容

FQDNは絶対入れる。

→一つのドメインでサブドメインやwww.ドメインにも対応させたいときには、「*.ド メイン」を入れることで可能

・メールアドレスに関しては公開されるので、プライベートなものであれば入力しない方がいい。

・その他わからない箇所はENTERで進めて良い。

参考:

Debian 11 Bullseye : SSL 証明書を作成する (自己署名) : Server World

https://qiita.com/clown0082/items/551d7c081ff6b41b1717

 

■③まで進むと完了。

 

■【余談】Encryptも、フリー認証局。オレオレに証明書よりこっちの方が良い。
※今回は勉強のためなのでオレオレ認証局を使っています。

letsencrypt.org

■いよいよvirtual hostのサイトをSSL化する設定

$ sudo vim /etc/nginx/sites-available/practice2.ueyu.com

以前書いた自分の設定の下にSSL化の設定を追記する。(2つ目のserverから後)

 

■構文をチェック

$ sudo nginx -t

okだったら上記のようになるが、私の場合はserver.keyやserver.crtなどが設定したパスと違う場所に入っていたので色んなエラーが出たので修正。

※このエラーが出たファイルたちは、オレオレ証明書の最初で作られたもの。

 

■nginxをストップ&スタートしたらSSL化終了
※restartは使わない!
$ sudo /etc/init.d/nginx stop #ストップ
$ sudo /etc/init.d/nginx start #スタート

 

■VirtualBoxの設定

ポートフォワーディングからHTTPSの設定を追加する。
自分のパソコンからはこの時点で繋げるようになる。

 

■外部からの接続を許可するためのルーターの設定
自分で契約しているルーターにログインし、NATエントリ追加。

※変換対象ポートについてはページ上部で選択することができます。
宛先ポート番号はHTTPSは443なので443を選択。

 

■自分のパソコンのIPアドレスを動的から静的(固定IPへ変更)
※理由はwifiルーターの設定後、ルーターを再起動をしないと設定が反映されないため再起動するたびに、自分のパソコンの固定IPが変動するのでアクセスできなくなる。

自分のパソコンのIPアドレスの調べ方:ターミナルで「 $ ifconfig 」

 

<macの設定>
①システム環境設定 → ネットワーク→ wi-fi → 詳細 → TCP/IP → 設定する(詳細は下部に記載)

 

※設定の詳細

・IPv4の設定:「手入力」に設定
・IPv4のアドレス:ルーター側の設定で設定した自分のパソコンのIPアドレス(固定にしたいIPアドレス)

※あとは触らずにOKのあと適用をクリックして完了。

 

https://ドメイン名:変換対象ポート番号を入力、以下のような表示になればOK

オレオレ証明書だとこのようになるらしいが、「セキュリティで保護されたページに戻る」をクリックしHTMLが表示されればOK。