レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

Nginx でSSLを使ってみた(追記:SNIを含めてマルチドメインへの対応)

2011年10月20日 2017年8月10日
nginx security
[追記]最近、格安共有サーバのさくらのレンタルサーバさくらのレンタルサーバでオプション料金なしで利用できると話題となったSSL接続(SNI)について追記しました。

今回は、nginxでSSLを使ってみます。
つまり、https:// でアクセスできるようするということです。

今回は、以前の「Nginx でPHPを動かす(php-fpmをバイナリパッケージ(rpm)を作成し、インストールする) [PHP5.2系の場合]」による簡単なnginxの設定例を元の nginxでSSLを使うための設定例をあげて、簡単に解説してみます。

ここで使用するNginxは、少なくとも 0.8.20 以降のものとして解説します。
(参考)
listen ディレクティブの ssl パラメータは 0.7.14 以降からサポートされています。
バージョン 0.7.65 と 0.8.20 以降のデフォルトの SSL 暗号は HIGH:!ADH:!MD5 です。

SSL用の証明書作成

ここでは、プライベート認証局にて署名されたサーバー証明書を使いたいと思います。

サーバー証明書の作成は、プライベート認証局の証明書、サーバー証明書、クライアント証明書の作成方法について を参照してください。
(ここでは例として、サーバー証明書作成時の Common Namewww.exmaple.com を指定して作成します。)


ここでは、サーバー証明書、秘密鍵ファイルがそれぞれ以下のファイル名で作成されたものとして、以降、記述します。

  • プライベート認証局証明書 → /etc/pki/CA/cacert.pem
  • サーバー証明書
    www.example.com サイト用 → /etc/pki/CA/certs/www.example.com.crt
    www.example.org サイト用 → /etc/pki/CA/certs/www.example.org.crt
  • サーバー秘密鍵
    www.example.com サイト用 → /etc/pki/CA/private/www.example.com.key
    www.example.org サイト用 → /etc/pki/CA/private/www.example.org.key
  • 失効証明書リスト → /etc/pki/CA/revoke.crl

nginx の SSL設定

簡単な設定例

以下に、Nginx でPHPを動かす(php-fpmをバイナリパッケージ(rpm)を作成し、インストールする) [PHP5.2系の場合] でのnginxの簡単な設定例に、SSLの設定を加えてみました。
SSLの設定箇所は、赤:追加で記載しているとことです。

/etc/nginx/nginx.conf で設定する例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    ...
    # serverタグで各サーバーの設定情報を記述します。
    server {
        listen      80;
        listen      443  default_server ssl;
        ssl_certificate      /etc/pki/CA/certs/www.example.com.crt;
        ssl_certificate_key  /etc/pki/CA/private/www.example.com.key;
        server_name www.example.com;
        index       index.php index.html index.htm;
        root        /var/www/html;
        charset     utf-8;
        access_log  /var/log/httpd/www.example.com.access.log;
        error_log   /var/log/httpd/www.example.com.error.log;
        ...
    }
    ...

ここでの設定は、最も簡単な設定です。以降に簡単な解説をしておきます。
各ディレクティブ (設定項目)の詳細については、SSL関連ディレクティブ(パラメータ)の解説 で詳しく解説していますので、そちらを参照してください。

  • 5 行目 : listen TCPポートを指定しています。
    SSL接続のデフォルトポート番号 443 を指定し、このサーバーがデフォルトサーバー(default_server) かつ SSL接続(ssl) であることを明示しています。
  • 6 行目 : サーバー証明書ファイルパスを指定してます。
  • 7 行目 : サーバー証明書の秘密鍵ファイルパスを指定してます。

実質、この3行を正しく指定してあげれば、SSL接続できます。


/etc/nginx/conf.d/www.example.com.conf で設定する例

CentOS/ScientificLinux などで、公式サイト(http://nginx.org)からインストールした場合、 /etc/nginx/conf.d/ 配下に サイト毎の 拡張子 .conf を付加したファイル名で設定ファイルを作成するようになっています。

ここでは、/etc/nginx/conf.d/www.example.com.conf というファイル名で、以下のような内容となるでしょう。

server {
    listen      80;
    listen      443  default_server ssl;
    ssl_certificate      /etc/pki/CA/certs/www.example.com.crt;
    ssl_certificate_key  /etc/pki/CA/private/www.example.com.key;
    server_name www.example.com;
    index       index.php index.html index.htm;
    root        /var/www/html;
    charset     utf-8;
    access_log  /var/log/httpd/www.example.com.access.log;
    error_log   /var/log/httpd/www.example.com.error.log;
    ...
}

/etc/nginx/nginx.conf の例と同じですが、serverディレクティブのみを記載することになります。 詳細内容については、上記と同じなので、解説は割愛します。


/etc/nginx/sites-available/www.example.com.conf で設定する例

Debian/Ubuntu などでは、各ディストリビューションにてNginxのパッケージが用意されています。 この用意されたNginxをインストールした場合、/etc/nginx/sites-available/ 配下に サイト毎の設定ファイルを適当なファイル名で作成するようになっています。(この場合、拡張子はなんでも可です)

ファイルの中身は、上記の /etc/nginx/conf.d/www.example.com.conf 全く同じになります。 ここでは、/etc/nginx/sites-available/www.example.com.conf というファイル名で作成したとします。 ここで注意しなければならないのは、このままでは、このサイト設定ファイルは有効にならない点です。

有効にするために /etc/nginx/sites-enabled/ 配下に 先の /etc/nginx/sites-available/www.example.com.conf のリンクファイルを作成することで有効化になります。

$ ln -s /etc/nginx/sites-available/www.example.com.conf /etc/nginx/sites-enabled/www.example.com.confreturn

このようにリンクファイルを作成すると有効となります。


マルチドメインの設定例(IPアドレス編)

上記では、非常に簡単なSSL接続の例を示しました。
次にマルチドメインによる複数の仮想サイトに対して、SSL接続をさせる設定例を簡単に解説してみます。
この場合、古くからあるSSL接続では、IPアドレスを分けてやることです。
以降に、IPアドレスを分ける設定例を簡単に解説してみます。

/etc/nginx/nginx.conf で設定する例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    ...
    # server #1 タグで各サーバーの設定情報を記述します。
    server {
        server_name www.example.com;
        listen      192.168.1.1:443  ssl;
        ssl_certificate      /etc/pki/CA/certs/www.example.com.crt;
        ssl_certificate_key  /etc/pki/CA/private/www.example.com.key;
        root        /var/www/html1;
        ...
    }
    # server #2 タグで各サーバーの設定情報を記述します。
    server {
        server_name www.example.org;
        listen      192.168.1.2:443  ssl;
        ssl_certificate      /etc/pki/CA/certs/www.example.org.crt;
        ssl_certificate_key  /etc/pki/CA/private/www.example.org.key;
        root        /var/www/html2;
        ...
    }
    ...

ここでの設定は、最も簡単な設定です。以降に簡単な解説をしておきます。
各ディレクティブ (設定項目)の詳細については、SSL関連ディレクティブ(パラメータ)の解説 で詳しく解説していますので、そちらを参照してください。


  • 5 行目 / 14 行目 : listen サーバーのIPアドレス + TCPポートを指定しています。
    先の簡単な設定例とは異なり、IPアドレスを指定していることに注意してください。
  • 6 行目 / 15 行目 : それぞれのサーバー証明書ファイルパスを指定してます。
  • 7 行目 / 16 行目 : それぞれのサーバー証明書の秘密鍵ファイルパスを指定してます。

ポイントは、IPアドレスの指定だけでしょう。

続けて、IPアドレスを分けることができない場合は、SNIを利用することで実現することができます。


/etc/nginx/conf.d/www.example.com.conf で設定する例

CentOS/ScientificLinux などで、公式サイト(http://nginx.org)からインストールした場合、 /etc/nginx/conf.d/ 配下に サイト毎の 拡張子 .conf を付加したファイル名で設定ファイルを作成するようになっています。

ここでは、/etc/nginx/conf.d/www.example.com.conf および www.example.org.conf というファイル名で、以下のような内容となるでしょう。

/etc/nginx/conf.d/www.example.com.conf

server {
    server_name www.example.com;
    listen      192.168.1.1:443  ssl;
    ssl_certificate      /etc/pki/CA/certs/www.example.com.crt;
    ssl_certificate_key  /etc/pki/CA/private/www.example.com.key;
    root        /var/www/html1;
    ...
}

/etc/nginx/conf.d/www.example.org.conf

server {
    server_name www.example.org;
    listen      192.168.1.2:443  ssl;
    ssl_certificate      /etc/pki/CA/certs/www.example.org.crt;
    ssl_certificate_key  /etc/pki/CA/private/www.example.org.key;
    root        /var/www/html2;
    ...
}

/etc/nginx/nginx.conf の例と同じですが、serverディレクティブのみを記載することになります。 詳細内容については、上記と同じなので、解説は割愛します。


/etc/nginx/sites-available/www.example.com.conf で設定する例

Debian/Ubuntu などでは、各ディストリビューションにてNginxのパッケージが用意されています。 この用意されたNginxをインストールした場合、/etc/nginx/sites-available/ 配下に サイト毎の設定ファイルを適当なファイル名で作成するようになっています。(この場合、拡張子はなんでも可です)

ファイルの中身は、上記の /etc/nginx/conf.d/www.example.com.conf および www.example.org.conf 全く同じになります。 ここでは、/etc/nginx/sites-available/www.example.com.conf というファイル名で作成したとします。 ここで注意しなければならないのは、このままでは、このサイト設定ファイルは有効にならない点です。

有効にするために /etc/nginx/sites-enabled/ 配下に 先の /etc/nginx/sites-available/www.example.com.conf および www.example.org.conf のリンクファイルを作成することで有効化になります。

$ ln -s /etc/nginx/sites-available/www.example.com.conf /etc/nginx/sites-enabled/www.example.com.confreturn
$ ln -s /etc/nginx/sites-available/www.example.org.conf /etc/nginx/sites-enabled/www.example.org.confreturn

このようにリンクファイルを作成すると有効となります。



マルチドメインの設定例(SNI編)

先の設定例では、IPアドレスを分けることでSSL接続するようにしました。 この方法は、古くからある手法です。 ただ、IPアドレスは、IPv4はすでに枯渇していますし、IPアドレスを追加する場合には、それなりに手間と対価が必要となってしまいます。

そこで考えられたのが、SNI(Server Name Indication)です。
以降に、SNIを用いた設定例を簡単に解説してみます。

SNI(Server Name Indication)とは、
SSL/TLSの拡張仕様で、 SSL接続時にクライアントがサーバー名(サイト名)を提示することで、 サーバ側がグローバルIP毎ではなくサーバー名(サイト名)によって異なる証明書を使い分けることを可能にものです。

これは、非常に便利で安価に多くのサイトのSSL接続が実現できることで、クライアント側(ウェブブラウザ)の対応が進んできました。 しかし、Andoroidなど新しいOSなどでは、まだ、完全な普及には至っていないのが現状です。

現在のSNI SSL の対応状況は、以下のとおりです。
  • Internet Explorer 7 以降(Windows Vista以降のみで、Windows XPではInternet Explorer 8でも非対応)
  • Mozilla Firefox 2.0 以降
  • Opera 8.0 (2005年) 以降 (設定でTLS 1.1を有効にする必要がある)
  • Opera Mobile 10.1 β 以降 (Android)
  • Google Chrome (Windows Vista以降。バージョン6でWindows XPに対応。Chrome 5.0.342.1でOS X 10.5.7 以降に対応)
  • Safari 3.0 以降 ((Mac OS X 10.5.6 以降、Windows Vista以降、iOS 4.0以降)
  • Konqueror/KDE 4.7 以降
  • Android ブラウザ (Android 3.0 (Honeycomb) 以降)
  • Windows Phone 7
  • MicroB(Maemo)
PCは、ほぼ対応できていると思います。
Androidが一番気になるところかもしれません。2014.4のデータからすると Android 3.0未満の使用割合は、Androidユーザの2割弱程度とされています。 今では、さらに小さくなっているかもしれませんが、それを無視できるか・・・というところだと思います。
このSNIを利用するには、Nginx側にも、対応していなければなりません。(自前でコンパイルしていない限り、ほとんど対応しています。)
その確認は、バージョン情報で確認することができます。
$ nginx -Vreturn
nginx version: nginx/1.6.2
built by gcc 4.7.2 (Debian 4.7.2-5)
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_spdy_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-z,relro -Wl,--as-needed' --with-ipv6
TLS SNI support enabledが出力されればOKです。
もし、出力されない場合は、バージョンが 0.5.32 以降で 全てSNI対応となっているはずなので、公式サイトからのインストールを行うことをおすすめします。

また、OpenSSLの対応も必要ですが、これも自前でコンパイルしていない限り、ほとんど対応しています。 もし、対応していない OpenSSL を使用すると警告メッセージが出力されます。
nginx was built with SNI support, however, now it is linked
dynamically to an OpenSSL library which has no tlsext support,
therefore SNI is not available
もし、このような警告メッセージが出力された場合は、OpenSSL の設定オプション “–enable-tlsext” を付加して再構築する必要があります。 (バージョン 0.9.8f 以降で対応済なので、最新版をインストールしてみることをおすすめします。)

/etc/nginx/nginx.confの設定例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    ...
    # server #1 タグで各サーバーの設定情報を記述します。
    server {
        server_name www.example.com;
        listen      443  ssl;
        ssl_certificate      /etc/pki/CA/certs/www.example.com.crt;
        ssl_certificate_key  /etc/pki/CA/private/www.example.com.key;
        root        /var/www/html1;
        ...
    }
    # server #2 タグで各サーバーの設定情報を記述します。
    server {
        server_name www.example.org;
        listen      443  ssl;
        ssl_certificate      /etc/pki/CA/certs/www.example.org.crt;
        ssl_certificate_key  /etc/pki/CA/private/www.example.org.key;
        root        /var/www/html2;
        ...
    }
    ...

ここでの設定は、最も簡単な設定です。以降に簡単な解説をしておきます。
各ディレクティブ (設定項目)の詳細については、SSL関連ディレクティブ(パラメータ)の解説 で詳しく解説していますので、そちらを参照してください。


  • 5 行目 / 14 行目 : listen TCPポートを指定しています。
    先の簡単な設定例とは異なり、IPアドレスの指定が無くなっていることに注意してください。
  • 6 行目 / 15 行目 : それぞれのサーバー証明書ファイルパスを指定してます。
  • 7 行目 / 16 行目 : それぞれのサーバー証明書の秘密鍵ファイルパスを指定してます。

ポイントは、IPアドレスの指定有無だけでしょう。


/etc/nginx/conf.d/www.example.com.conf で設定する例

CentOS/ScientificLinux などで、公式サイト(http://nginx.org)からインストールした場合、 /etc/nginx/conf.d/ 配下に サイト毎の 拡張子 .conf を付加したファイル名で設定ファイルを作成するようになっています。

ここでは、/etc/nginx/conf.d/www.example.com.conf および www.example.org.conf というファイル名で、以下のような内容となるでしょう。

/etc/nginx/conf.d/www.example.com.conf

server {
    server_name www.example.com;
    listen      443  ssl;
    ssl_certificate      /etc/pki/CA/certs/www.example.com.crt;
    ssl_certificate_key  /etc/pki/CA/private/www.example.com.key;
    root        /var/www/html1;
    ...
}

/etc/nginx/conf.d/www.example.org.conf

server {
    server_name www.example.org;
    listen      443  ssl;
    ssl_certificate      /etc/pki/CA/certs/www.example.org.crt;
    ssl_certificate_key  /etc/pki/CA/private/www.example.org.key;
    root        /var/www/html2;
    ...
}

/etc/nginx/nginx.conf の例と同じですが、serverディレクティブのみを記載することになります。 詳細内容については、上記と同じなので、解説は割愛します。


/etc/nginx/sites-available/www.example.com.conf で設定する例

Debian/Ubuntu などでは、各ディストリビューションにてNginxのパッケージが用意されています。 この用意されたNginxをインストールした場合、/etc/nginx/sites-available/ 配下に サイト毎の設定ファイルを適当なファイル名で作成するようになっています。(この場合、拡張子はなんでも可です)

ファイルの中身は、上記の /etc/nginx/conf.d/www.example.com.conf および www.example.org.conf 全く同じになります。 ここでは、/etc/nginx/sites-available/www.example.com.conf というファイル名で作成したとします。 ここで注意しなければならないのは、このままでは、このサイト設定ファイルは有効にならない点です。

有効にするために /etc/nginx/sites-enabled/ 配下に 先の /etc/nginx/sites-available/www.example.com.conf および www.example.org.conf のリンクファイルを作成することで有効化になります。

$ ln -s /etc/nginx/sites-available/www.example.com.conf /etc/nginx/sites-enabled/www.example.com.confreturn
$ ln -s /etc/nginx/sites-available/www.example.org.conf /etc/nginx/sites-enabled/www.example.org.confreturn

このようにリンクファイルを作成すると有効となります。

上記の設定で、SNIに対応していないブラウザで https://www.example.org へアクセスすると警告メッセージが表示されます。 以下は、Opera 7.54u で https://www.example.org へアクセスした際の警告メッセージです。
OPERA SSL警告
ここでもわかるようにSNIに対応していないブラウザは、サイト名を通知してこないので、Nginxはデフォルトサイトと認識し、 www.example.com の証明書、秘密鍵ファイルを使おうとします。そこで、サイト名の不一致となり、上記の警告メッセージとなったようですね。


SSL関連ディレクティブ(パラメータ)の解説

nginx server部には、上記で設定しているディレクティブ(パラメータ)以外にもSSL関連ディレクティブがあります。
以降に、上記で使用しているSSL関連ディレクティブ(パラメータ)を含めて簡単に解説をしておきます。


[目次(ディレクティブ一覧)]

listen 443 ssl;
TCPポート番号を設定します。
ここでは、SSLなので443番を使います。かつ、sslを明記することで、このポートがSSLにて接続することになります。
また、http の80 番と併記することも可能で、その場合は、default_serverも指定すべきです。
listen  80;
listen  443 default_server ssl;
ここでdefault_serverを指定しない場合は、記載順になるので80番がデフォルトのサーバーと認識されます。

ssl on;
HTTPS の有効(on)/無効(off)を設定します。
このディレクティブではなく、上記の listen ディレクティブ の ssl を指定することをおすすめします。

[ デフォルトの設定 ]
ssl  off;

ssl_certificate /etc/pki/CA/certs/www.example.com.crt;
サーバー証明書のファイル名(パスを含む)を設定します。

[ デフォルトの設定 ]
ssl_certificate cert.crt;

ssl_certificate_key /etc/pki/CA/private/www.example.com.key;
サーバー証明書の秘密鍵のファイル名(パスを含む)を設定します。

[ デフォルトの設定 ]
sl_certificate_key cert.key;

ssl_client_certificate /etc/pki/CA/cacert.pem;
クライアント証明書を検証するために使用されているCA(ルート)証明書のファイル名(パスを含む)を設定します。

ssl_dhparam /etc/pki/tls/certs/dbparam.pem;
サーバとクライアント間でセッション鍵を交換するために利用のDiffie-Hellman(DH) key agreement プロトコルの暗号化パラメータのファイル名(パスを含む)を設定します。
DHパラメータは、以下のように作成できます。
# 1024 bit 版のDiffie-Hellman(DH) パラメータを作成する
$ openssl dhparam -out dbparam.pem 1024return

# 2048 bit 版のDiffie-Hellman(DH) パラメータを作成する
$ openssl dhparam -out dbparam.pem 2048return

ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
サーバーが、セキュリティで保護された接続を確立するためにサポートする暗号群を設定します。
例えばOpenSSLの暗号化方式のフォーマットは、以下のように設定されます。

[ デフォルトの設定 ]
# before Version 1.05
ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

# since Version 1.05
ssl_ciphers  HIGH:!aNULL:!MD5;
また、以下のコマンドでサーバーが対応できている暗号群を表示することができます。
$ openssl ciphersreturn

ssl_crl /etc/pki/CA/revoke.crl;
PEM形式の証明書の失効ステータスを確認するために使用されている証明書失効リストのファイル名(パスを含む)を設定します。
失効リストが必要な方は、 → 各証明書を失効する。 を参照してください。

ssl_prefer_server_ciphers off;
サーバは、プロトコルSSLv3およびTLSv1のための暗号群のリストは、暗号群のリストをサポートしているクライアントよりも優先されることが必要です。
※問題多し。offとして使っておいた方が良い。

[ デフォルトの設定 ]
ssl_prefer_server_ciphers off;

ssl_protocols SSLv2 SSLv3 TLSv1;
指定されたプロトコルのバージョンの有効/無効を設定します。
[SSLv2] [SSLv3] [TLSv1]

[ デフォルトの設定 ]
ssl_protocols  SSLv2 SSLv3 TLSv1;

ssl_verify_client on;
クライアントの識別情報の検証/非検証を設定できます。
on|off|optional

[ デフォルトの設定 ]
ssl_verify_client off;

ssl_verify_depth 1;
サーバがクライアントの身元を確認するために証明書のチェーンを何階層までたどるかを設定します。

[ デフォルトの設定 ]
ssl_verify_depth 1;

ssl_session_cache off;
SSLセッションを格納するタイプとキャッシュのサイズを設定します。
  • off : ハードオフ:nginxのは、明示的にクライアントへのセッションが再利用できないと言う。
  • none : ソフトオフ:nginxのは、セッションが再利用できることをクライアントに言うが、nginxのは、実際にそれらを再利用することはありません。 ssl_session_cacheがメールプロキシだけでなく、HTTPサーバーで使用される可能性があるこれは、一部のメールクライアントのための回避策です。
  • builtin : OpenSSLの組み込みキャッシュは、ワーカープロセスは1つだけの内部で使用されています。キャッシュサイズは、セッションの数に割り当てられています。注:この方法を使用してメモリの断片化の問題があるよう、これを使用するときに考慮してください。下記の”参考文献”を参照してください。
  • shared : キャッシュは、すべてのワーカープロセス間で共有されます。キャッシュのサイズはバイト単位で割り当てられます:1 MBキャッシュは約4000のセッションを含めることができます。それぞれの共有キャッシュは、任意の名前を指定する必要があります。指定された名前を持つ共有キャッシュは、複数の仮想ホストで使用することができます。

[ デフォルトの設定 ]
ssl_session_cache off;

ssl_session_timeout 5m;
クライアントがSSLキャッシュに格納されている安全なセッションの以前にネゴシエート暗号パラメータを再利用できる最長時間を設定します。

[ デフォルトの設定 ]
ssl_session_timeout    5m;

ssl_engine;
これは、OpenSSLエンジンが例えば南京錠のように、使用して指定することができます。 それは、OpenSSLの最新バージョンが必要です。 お使いのプラットフォームにインストールされているOpenSSLのバージョンがこれをサポートしているかどうかを確認するには、コマンドを発行します。
$ openssl enginereturn
(dynamic) Dynamic engine loading support
今回設定例では、基本的な設定のみで、残りはデフォルトの動作になります。(各ディレクティブのデフォルトの設定を参照)

今回のような独自の(勝手に作成した)SSL用証明書を用いた場合、FireFoxでは、以下のような警告ページが表示されてしまいます。
SSL警告
この警告は、
「あらかじめ指定されている認証局によって作成された証明書ではないので危ないサイトかもしれません・・・。」という趣旨のメッセージです。
事前に独自に作成した認証局の証明書をインポートしておくと上記のような警告は出ません。 詳しくは、プライベート認証局を登録(インポート)するを参照してください。

このような独自のSSL証明書を公式サイトなどで利用することは、まず、ありえないと思います。 上記のような警告メッセージが表示されるだけで、普通は、危険なサイトだと思いますからね。

通常、このような独自の証明書は、 内部的(例えば社内など)に限られた人だけが参照するようなサイトで、事前に認証局の証明書を配布、インポート作業を行ってもらうことで、 警告メッセージなしでSSLの暗号化によるセキュアな接続が可能となるものです。
更に、クライアント証明書を使って訪問者認証も行うこともできます。ここまでやると社内でも、ある程度、セキュアな社外秘的なサイト運営ができるかと思います。




関連記事 :


コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

Genymotionとは、 公式サイト(http://www.genymotion.com/)には、以下のように記述があります。 G ...

以下のように Android x86 を仮想マシンへインストールし、色々と試してきました。 仮想マシンを使って Android ...

Android x86とは、 いわゆる Android のPC版OSです。 Android は、Googleによって開発されたスマー ...

Android x86とは、 いわゆる Android のPC版OSです。 Android は、Googleによって開発されたスマー ...

今回は、Mondo Rescue を使って バックアップとリストア(復元)をやってみたいと思います。 いまだに、さくらのVPSは、バッ ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • はてなブックマークへ追加する
  • Facebookでシェアする
  • twitter でつぶやく
  • Google Plusでシェアする
  • Pocketでシェアする
ページトップへ
Time : 0.2444 [s]