この記事は、nginx + ノードを使用して Alibaba Cloud に https をデプロイする手順を主に、写真、テキスト、サンプルコードを通じて詳しく紹介しています。この記事は、皆さんの学習や仕事に役立つことを願っています。みんなを助けることができます。
HTTPS と HTTP の主な違いは次のとおりです:
1. https プロトコルでは CA に証明書を申請する必要があるため、一般に無料の証明書が少ないため、一定の料金が必要です。
2. http はハイパーテキスト転送プロトコルであり、情報は平文で送信されますが、https は安全な SSL 暗号化送信プロトコルです。
3. http と https はまったく異なる接続方法を使用し、前者は 80、後者は 443 を使用します。
4. http 接続は非常にシンプルでステートレスです。HTTPS プロトコルは、暗号化された送信と ID 認証を実行できる SSL+HTTP プロトコルから構築されたネットワーク プロトコルであり、http プロトコルよりも安全です。
申請
無料の https 証明書を取得するために 2 日間待ちましたが、Ali では常に売り切れと表示されます。最近の https の人気により、供給が需要を上回っているのでしょうか。
数分後、fileauth.txt が指定されたディレクトリにアップロードされました。この間、レビューコールは行われませんでした入ってください。 Alibaba が提供する操作と展開の手順は非常に詳細に記載されているので、それをコピーするだけですが、手順に記載されている nginx ルート ディレクトリではなく、cert フォルダーを conf の下に置くように注意してください。アリババ独自の方法で操作すると、というエラーが表示され、certディレクトリの問題であることが分かります。
ノードのリバースプロキシ
fopen:No such file or directory:fopen('/usr/local/nginx/conf/cert/214389510580391.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
location / { proxy_pass http://127.0.0.1:4001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
ノードは通常どおり実行されます。httpsかhttpかは関係なく、nginxによって実行されます。最初の proxy_pass はリバース プロキシで、次の 3 つの proxy_set_headers は mall.it577.net からリクエストを完全に引き継ぎますが、リクエストを追加しなくてもフロント エンドからリクエストできますが、req.originUrl は http:// に解決されます。 127.0.0.1 :4001、これは WeChat 支払いコールバックの notify_url の分離に影響するため、これらの 3 行が追加されます。
結果
アドレスバーからhttpsがサポートされていることがわかります。 落とし穴
上記のプロセスは非常に簡単で、基本的に設定できます。私が遭遇した落とし穴についてお話します。 Alibaba のプリインストールされた nginx には https モジュールが含まれていないため、インストール パッケージを手動でダウンロードして再コンパイルし、最後に新しくコンパイルされた nginx 実行可能ファイルをコピーし、置き換えてサービスを再起動する必要があります。
SSLモジュールが見つからないというエラー報告nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:123
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar zxvf nginx-1.12.1.tar.gz
./configure --with-http_ssl_module make
nginxを停止
/usr/local/nginx/sbin/nginx -s stop
古いnginxを置き換えます
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx -s reload
HTTPS の詳細な説明
node.js を使用して自己署名 https サーバーを構成する方法
https request:fail エラーと実際のマシンのプレビューの質問を含む解決策
以上がnginx とノードを使用して Alibaba Cloud に https をデプロイする手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。