質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

2回答

841閲覧

さくらのVPSでの複数ドメインを運用する際のSSL証明書(key)の設定についてご教授お願いします。

koume

総合スコア458

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2019/08/07 15:54

Railsアプリをデプロイしようとしています。
さくらのVPSで複数ドメイン(2つ)を利用したいのですが、設定の方法でわからない点があるので教えていただけないでしょうか?

現状は、1つのドメインでSSL通信出来る状態で、デプロイ前の状態です。
ドメインをもう一つ追加し、2つのドメインを運用したいのです。

1つ目のドメイン設定ファイルは /etc/nginx/conf.d/https.confでした。
これはさくらのVPSに申込時に設定されていたファイルです。
このファイルはhttps://example.com用のファイルです。

これをhttps://hogehoge.jpでもアクセス出来るようにしたいのです。

間違っているかもしれませんが
サイト等で調べてみたらもう一つhogehoge.jp用のファイルを作ればいいような感じでした。例えば /etc/nginx/conf.d/vhost.confみたいなファイル名でhttps.confの内容をコピーしhogehoge.jp用に修正を加えればいいというように認識しています。
example.comのSSL設定ファイルは以下になっています。

/etc/nginx/conf.d/https.conf upstream app_server { server unix:/usr/share/nginx/html/current/tmp/sockets/.unicorn.sock fail_timeout=0; } map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 443 ssl http2; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { deny 212.64.88.231; deny 181.24.23.164; allow all; root /usr/share/nginx/html/current/public; index index.html index.htm; try_files $uri/index.html $uri.html $uri @app; } ssl_protocols TLSv1.2; ssl_ciphers EECDH+AESGCM:EECDH+AES; ssl_ecdh_curve prime256v1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; proxy_connect_timeout 130; proxy_read_timeout 130; proxy_send_timeout 130; client_max_body_size 2G; error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html/current/public; } error_page 500 502 504 /50x.html; location = /500.html { root /usr/share/nginx/html/current/public; } location @app { deny 212.64.88.231; deny 181.24.23.164; allow all; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } set $maintenance false; if (-e /var/tmp/do_maintenance) { set $maintenance true; } if ($uri ~ "^/maintenance/") { set $maintenance false; } if ($remote_addr = XXX.XXX.X.XXX) { set $maintenance false; } error_page 503 /maintenance/maintenance.html; location /maintenance/ { root /var/www; } if ($maintenance = true) { return 503; } }

その中にSSLのkey設定の箇所が2行ありました。

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pen ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pen

example.comはこの状態でSSL通信出来ているのですがhogehoge.jpを設定する場合も

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pen ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pen

と同じ記述をすればいいのでしょうか?
SSLのkeyは同じものを使うと思うので同じでいいのかとも思いますが、

ssl_certificate /etc/letsencrypt/live/hogehoge.jp/fullchain.pen ssl_certificate_key /etc/letsencrypt/live/hogehoge.jp/privkey.pen

上のようにしてもそのようなkeyは無いと思うので同じ設定でいいような感じもするのです。
複数のドメインを設定するのが初めてなのでどなたかご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

SSLのkeyは同じものを使うと思うので同じでいいのかとも思いますが、

これは、証明書の出し方次第です。2つのドメインをまたがるような1つの証明書を使っている場合は同じ設定でいいですが、そうでない場合は証明書と一致するキーをそれぞれ設定する必要があります。

投稿2019/08/08 00:32

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koume

2019/08/08 06:26

回答ありがとうございます。 SANというので設定出来るのがわかりましたので実行してみます。 サイトでコードを調べてみます。
guest

0

server_nameをhogehoge.jpとした設定が必要。
ssl証明書もhogehoge.jp用のものが必要です。

ないとは思いますがexample.comの証明書がワイルドカード証明書でhogehoge.jpがexample.comのサブドメインの場合は同じ証明書が使えます。

投稿2019/08/07 16:09

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scsi

2019/08/07 16:11

ちなみに何故同じ証明書が使えると思ったのでしょうか?
maisumakun

2019/08/08 00:33

ワイルドカードでなくても、SANとしてまったく別ドメインまでまとめた証明書を出すことも可能です(Let's Encryptなどで、実際に発行可能です)。
scsi

2019/08/08 02:24

あ、確かにワイルドカードでなくてもいけますね。考慮不足でした。申し訳ない。
koume

2019/08/08 05:34

回答ありがとうございます。なにもわからない状態で不安です。 SANに追加することで同じ証明書でできるのということですが設定の方法は 以下のようにコマンドを実行するだけでいいのでしょうか? $ ./certbot-auto certonly –standalone -d example.com -d hogehoge.jp サイトで調べただけですのでとても不安です。 ご指導の程、宜しくお願いします。
koume

2019/08/08 06:28

回答ありがとうございます。SANでできるのはわかりましたが、ドキュメントルートが違うのでそのあたりについて別に質問させて頂きます。 よろしければ、また回答をお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問