nginxのトピック(4)----- HTTPS、nginxの可用性

公開鍵と秘密鍵

コンセプト

 

 

 

 

インタラクティブなプロセス

ブラウザは、データを暗号化するために、公開キーを使用して、送り出されました。公開鍵暗号化されたコンテンツの後、唯一それを理解するために、秘密鍵の人々(nginxのサーバー)を持っています。

 

 

nginxの設定HTTPS

場合はhttpsをnginxの設定、あなたは)この:(購入から異なるように二つのことを必要とします。キー、秘密鍵。内側にnginxのサーバー、これだけ、証明書、ダウンロードするブラウザの公開鍵。

独自のテストを使用していない、サーバ証明書の秘密鍵を作成するだけのように-----制作環境を作成します

ディレクトリ/etc/nginx/conf.d/を入力し、生成された証明書は、ここに配置されます。

1、サーバーの秘密鍵のコマンドを作成するには、パスワードを入力させます。 

opensslのgenrsa -des3 -out server.keyの1024

図2に示すように、証明書署名要求(CSR)を作成します。 

opensslのREQ - 新しい -key server.keyの-out server.csr

ロードとnginxのSSLサポートは、秘密鍵を使用した場合3、パスワードを削除する必要があります。 

opensslのRSA -in server.keyの-out server_nopass.key

4、そして最終的にCSRラベル秘密鍵と証明書を使用して: 

opensslのX509 -req -days 365 -in server.csr -signkey server_nopass.key -outをserver.crt

環境要件

nginxのは、最初のバージョン情報、コマンドを確認してください。

nginxの-V

 

そこでは、http_ssl_module---with httpsのモジュールがインストールを表します。そうでない場合は、再インストールしてください。 

コンフィギュレーション

 

{Serverは
    聞く        443 ; SSL 
    サーバー名sales.enjoy.com; 

    ssl_certificate          /etc/nginx/conf.d/ をserver.crt;#証明書
    ssl_certificate_keyの      /etc/nginx/conf.d/のserver_nopass.key;#プライベート


    IF($ http_originをHTTP〜:// enjoy.com){(*)。。
        。SET $ $ allow_url http_origin 
    } 
    で要求検証情報を許可するかどうか#
    はadd_headerアクセス -制御-許可-資格情報をtrueに; 
    #は、ドメインへのクロスドメインアクセスを許可する、であってもよいですドメインのリスト、それはワイルドカード可能 * 
    はadd_headerアクセス -制御-allow- 起源の$ allow_url; スクリプトはリターンヘッドアクセスすることができます
    はadd_headerアクセスコントロール「X-要求-で、コンテンツタイプ、のCache-Control、プラグマ、日付、タイムスタンプ-X」 - -ヘッダを許可; 
    #リクエスト方法は、使用カンマが区切りができます
    はadd_headerアクセス -制御-許可-メソッドをPOST、GET、OPTIONS、PUT、DELETE「; 
    #は、カスタムヘッダを可能にする、カンマで区切られ、大文字と小文字を区別しない
    はadd_headerアクセス -コントロール-露光-ヘッダ」WWW認証、サーバー認証」; 
    #P3Pサポートクロスドメインクッキー操作
    はadd_header P3P 'policyref = "/ W3C / p3p.xml"、CP = "NOI DSP BUS PSAA OUR ONL UNI IND COM NAV INT LOC"' ; 
    はadd_header試験   1 ; 

    IF(REQUEST_METHOD $ = 'OPTIONS' ){
         リターン 204 
    } 

    場所/ { 
        ルートHTML / 販売。
        インデックスのwelcome.html。
    } 

    error_page    500 502 503 504 / 50x.html。
    位置 = / 50x.html { 
        ルートHTML。
    } 
}

ラン

 

httpsのアクセスはOK、証明書が組織内で認定されていないため、証明書が安全ではないことを示唆し、証明書が正常に買うためにお金を費やす必要はされました。

HTTPリダイレクトHTTPSへ

{サーバー
    聞く        80 ; 
    server_nameのsales.enjoy.com; リライト
    
     ^ / https://sales.enjoy.comリダイレクト; 

    IF($ http_origin HTTP〜:。//(.*)enjoy.com){ 
        SET $ $ http_origin allow_url ; 
    } 
    と要求検証情報を許可するかどうか#
    はadd_headerアクセス -制御-許可-資格情報をtrueに; 
    #は、ドメインへのクロスドメインアクセスを許可し、ドメインがリストであってもよいし、またはワイルドカードかもしれ * 
    はadd_headerアクセス -制御-allow- 起源$ allow_url ; 
    #スクリプトはリターンヘッドアクセスすることができます
    はadd_headerアクセス - -制御-許可-ヘッダ「タイムスタンプX-要求-with-、コンテンツの種類、のCache-Control、プラグマ、日付、X」; 
    #許可リクエストメソッド、カンマ区切りオープン
    アクセスはadd_header許可-メソッド-コントロール「POST、GET、OPTIONS、PUT、DELETE」; 
    #カスタムは、カンマで区切って、頭を可能に、大文字と小文字を区別しない
    はadd_headerアクセス -制御-露光-ヘッダWWW認証、サーバー-許可' ; 
    P3P動作#サポートクロスドメインクッキー
    はadd_header P3P ' policyref = "/ W3C / p3p.xml"、CP = "NOI DSP BUS PSAA OUR ONL UNI IND COM NAV INT LOC" ' ; 
    はadd_header試験   1。; 

    IF($ REQUEST_METHOD = 'OPTIONS' ){
         リターン 204 ; 
    } 

    LOCATION / { 
        ルートHTML / 販売; 
        指数のwelcome.html; 
    }

    error_page    500 502 503 504 / 50x.html。
    位置 = / 50x.html { 
        ルートHTML。
    } 
}

:HTTPS年間で、AJAXリクエスト普通のhttpが、それはエラーになります(理由:安全性が低いです)

 

httpsのドメイン・エラーの訪問のhttpドメイン。 

nginxの可用性

問題

可用性のアイデアTOMCAT解決nginxの、ロードサービスのnginxの層が先行します。この方法は、常にフロントエンド負荷層は無限ループであってもよいがダウン存在します。

 

ソリューション

LVSを解決するために考え、解決するためにkeepalivedの

 

 

keepalivedのアイデア

図2は、仮想ゲートウェイVIPのうち仮想サーバソフトウェアによって、この協議は、二つのマシンによって生成されるVIP。マシンがダウンし、別のマシンのVIPを維持するために。このことを保証する限り、両方のマシンではなく同時にダウンしているとして、VIPが。 

:唯一の2台のマシン間で適用することができkeepalivedの

keepalivedのダウンロード、インストール、構成、

ダウンロード

ダウンロードします。https://pan.baidu.com/s/1G7sLL-YkZGSMu8G76yz1Rwパスワード:adbw。-----対応のcentos6システムは、異なるシステムは、異なるバージョンを見つける必要があります。

インストール

1、

./configure --prefix = /データ/プログラム/ keepalivedの--sysconf =の/ etc ##キープアライブ開始時間がデフォルトになりますので、読み取り/etc/keepalived/keepalived.conf

2、

作る&& make installを

コンフィギュレーション

オープン/etc/keepalived/keepalived.conf、次の段落を設定するだけで済みます。(他の冗長構成、削除)

 

再起動

 

IP addrでカードを表示するには、システムコマンド

 

カード上のeth0、2つのIP、244.3が真のIPで、244.200仮想vipがあります 

上記は、ホストの設定で、その後、ダウンロード、インストール手順、別のマシン構成を繰り返します。2機、2つだけの構成の違いのスタンバイ構成: 

状態のバックアップ#は、主BACKUP調製するMASTER、指定されたロール、keepalivedの
優先順位要求を処理する優先度100#優先度を、値が大きいほど、より高いします。代替小さいです

テストスタンバイkeepalivedの

通常の状況下では、VIPのVIPは、スタンバイ・ホスト上のマシン244.4の一端を表示されません。上部の下に。keepalivedの私たちがホスト上で殺す場合は、この時点では、VIPは、スタンバイ・マシン上に表示されます。下半分以下に。

 

ホスト装置が再起動keepalivedの後、スタンバイマシンVIP = 200は、図のように、消失しました。 

 

概要

keepalivedの高可用性アーキテクチャ図

使用を監視するためのkeepalivedのnginxの 

SHスクリプトモニタ、shスクリプトを編集します:

#!/ binに/ bashのは
A = `PS -C nginxの--no-ヘッダ| WC - 'L        
 IF [$ A -eq 0 ];その後                            
      は/ usr / local / nginxの/ sbinに/ nginxの#再起動nginxの
       IF [` PS nginxの--no-ヘッダ-C | WC -l` -eq 0 ]; #nginxが、その後、再起動失敗し、サービスはVIPの転送のために、停止しkeepalivedの
              別のマシンへのローミングにVIP、killallをkeepalivedの#キル                 
      Fiの
Fiの

設定ファイルに以下の2つの設定を追加します。

 

keepalivedのは、テストの結果、以下の操作を監視し、再起動します。 

 

テスト結果:nginxのダイ

 

おすすめ

転載: www.cnblogs.com/alimayun/p/12445668.html