0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SynologyのNASでdocker環境のNginxをhttpsでを使ってみた

Last updated at Posted at 2023-03-28

SynologyのNASでDockerでWebサービスを稼働できるか確認しました。

現時点ではまだ備忘録の段階で、最終的にはルータでポートの開放を行い、既存のサーバの置き換えを行う予定です。
その前段階として、Let'sEncryptの証明書も取得できない段階ですが、「dockerコンテナへhttpsで通信ができるか」の確認を行いました。

DSM(DiskStation Manager)のあの機能はどこにあった?など、ここを見て設定ができるようにと記録を残すことにしました。

背景

  • すでにLinuxサーバで稼働しているWebサービスがある
  • NASでWebサーバが使えることを知ったので、ここに移行できるかまずは、Nginxのコンテナを起動して確認する
  • 動作確認の段階なので 証明書はNASにインストールされている自己証明書を使う
  • ルータでポート変換するので ポートは443以外のポートでも問題ない

概要

NASとしてはhttpsをポート18080で待ち受ける
NASのリバースプロキシで18080(https)--->8088(http)
Dockerコンテナはホスト側(8088)-->コンテナ側(80)

  ここは後で図を描く予定です

NAS DiskStation Managerでの設定

DiskStation Managerのバージョンは7.1.1

  1. テスト環境としてDNSを設定
    ・ パッケージセンターから「DNS Server」をインストール
    ・ 「DNS Server」を開き、「作成」→「プライマリーゾーン」
    ・ ドメイン名:local.dockertest.tokyo (テスト中のアクセスで使う名前)
      プライマリDNSサーバ:192.168.1.1 (ルータのIPアドレス)
    スクリーンショット 2023-03-28 13.42.53.png

・ゾーンID「local.dockertest.tokyo」が作成されるので、右クリックして「リソースレコード」を選択
スクリーンショット 2023-03-28 13.46.06.png
スクリーンショット 2023-03-28 13.47.39.png

・作成→Aタイプを選択し、IPアドレスにNASのアドレスを入力

  1. リバースプロキシの設定
     リバースプロキシでhttps(18088)をhttp(8080)に転送する設定を行う
    ・コントロールパネル → ログインポータル → 詳細設定 → リバースプロキシ
    スクリーンショット 2023-03-28 14.02.37.png
    ・リバースプロキシ規則の入力
    スクリーンショット 2023-03-28 14.04.35.png

(1) 任意 識別するための名前 (プロキシ名を反転は翻訳の誤り?)
Target
(2) プロトコル:HTTPSを選択
(3) ホスト名:NASにアクセスする時の名前 このテストではDNSで仮に設定した名前
送り先
(4) ポート:ブラウザでNASにアクセスする時のポート番号
(5) ホスト名:localhost
(6) ポート:8088 Dockerのホスト側ポート

NAS でのDockerコンテナの起動

・ Dockerコンテナで表示しているページなのか識別できるように、Nginxで表示するindex.htmlを作成する
 ディレクトリは作業用アカウントのHOMEディレクトリに作成したdockerWebDirディレクトリを使用する

index.html
rainuser@DS1621-3:~$ cat /volume1/homes/rainuser/dockerWebDir/index.html 
Displayed with docker's nginxi<br>
on DS1621 Made by Taro

・ dockerコンテナの起動

rainuser@DS1621-3:~$ docker run --name hello-nginx --rm -v /var/services/homes/rainuser/dockerWebDir:/usr/share/nginx/html:ro -d -p 8088:80 nginx
bfd7c8b1a4905f04a1d6fd06693d56f462a37b5262d8e7c52d490e4c5894aa52

ブラウザでの動作確認

・ ブラウザからはhttpsを指定して、DNSサーバで作成してテスト用のドメイン名でアクセスする
スクリーンショット 2023-03-28 14.55.34.png

・ 自己証明書を使用しているので、この時に「自己署名証明書の警告」が表示されるので、「危険を承知で表示」などを選択してページを表示させる
下記はsafariでの表示例 「危険性を理解している場合は このWebサイトを閲覧できます」の赤枠部分をクリックする
スクリーンショット 2023-03-28 16.43.58.png

下記はFirefoxで証明書を確認した時の表示で、「安全ではありません」「セキュリティ例外として追加されました」と表示されているが、httpsで接続できた
スクリーンショット 2023-03-28 14.57.09.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?