SSL 設定はできますか?

はい、設定できます。
SSL 用の設定ファイルの作成とセキュリティグループの変更が必要です。以下に手順を解説します。

Step 1. ssl.default.conf の作成

以下のサンプルを参考に /etc/nginx/conf.d/ssl.default.conf というファイルを作成してください。
このファイルは root ユーザーのみが作成出来ますので、サーバへ SSH 接続後、 su - でユーザーを変更して作業をしてください。

作業の際、4行目の {your EC2 Instance ID} は、あなたの EC2 インスタンスのID または バーチャルホストで書き換えてください。
(分からない場合は、/etc/nginx/conf.d/default.conf の同一行をコピーしても大丈夫です)

また、9,10行目は使用したいサーバ証明書・秘密鍵のパスを指定してください。

設定後、以下のコマンドで Nginx を再起動してください。

# service nginx restart

 

ssl.default.conf のサンプル

server {
    listen      443 default ssl http2;
    server_name _;
    root        /var/www/vhosts/{your EC2 Instance ID};
    index       index.html index.htm;
    charset     utf-8;

    ssl                  on;
    ssl_certificate      /path/to/cert.pem;
    ssl_certificate_key  /path/to/cert.key;
    ssl_session_timeout  5m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    access_log  /var/log/nginx/ssl.access.log  main;
    error_log   /var/log/nginx/ssl.error.log;

    include     /etc/nginx/drop;

    expires $expires;

    set $do_not_cache 0;
    if ($http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) {
        set $do_not_cache 1;
    }
    if ($request_method = POST) {
        set $do_not_cache 1;
    }

    set $proxy_https 'on';
    set $proxy_proto $scheme;

    set $mobile '';
    #include /etc/nginx/mobile-detect;

    rewrite /wp-admin$ $uri/ permanent;
    #rewrite ^(.*)(index|home|default)\.html? $1 permanent;

    location ~ \.php$ {
        try_files $uri @wordpress;

        proxy_no_cache     1;
        proxy_cache_bypass 1;
        proxy_redirect     off;
        proxy_pass         http://backend;
    }

    location / {
        try_files $uri @wordpress;
    }

    location @wordpress {
        internal;

        proxy_no_cache     $do_not_cache;
        proxy_cache_bypass $do_not_cache;

        proxy_redirect     off;
        proxy_cache        czone;
        proxy_cache_key    "$proxy_proto://$host$request_uri$mobile";
        proxy_cache_valid  200 0m;
        proxy_pass         http://backend;
    }

    #
    # When you use phpMyAdmin, uncomment the line "include /etc/nginx/phpmyadmin;"
    # and delete or comment out the below line "location ~* /(phpmyadmin|myadmin|pma) { }".
    #
    #include     /etc/nginx/phpmyadmin;
    location ~* /(phpmyadmin|myadmin|pma) {
        access_log off;
        log_not_found off;
        return 404;
    }

    #
    # redirect server error pages to the static page /50x.html
    #
    error_page  502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

 

Step 2. セキュリティグループの変更

続いて、https で通信ができるようにセキュリティグループを変更します。

AWSマネージメントコンソールのEC2ダッシュボードの「Security Groups」でインスタンスで使用しているセキュリティグループを選択し「Action」から「Edit inbound rules」をクリックします。

security-group1

設定画面が開いたら HTTP を追加し、「Save」をクリックします。

security-group2

設定は以上です。

他にご質問がございましたら、リクエストを送信してください

0 コメント

記事コメントは受け付けていません。
Powered by Zendesk