リクエストロジック
OpenSSLをインストールするダウンロード
証明書を生成するコマンドラインを使用してディレクトリをランダムに開き、次のコマンドを使用して証明書を生成します。 # 秘密鍵を作成# ファイル名は test と自由に付けることができます。このコマンドは rsa パスワードを 2 回設定するように要求します。パスワードは後で必要になるので覚えておいてください。コマンドを実行すると、現在のディレクトリに test.key ファイルが生成されます openssl genrsa -des3 -out test.key 1024 # csr 証明書を作成します。ここで使用する test.key は、前のコマンドで生成されたものです。このコマンドを実行した後、一連の情報を入力する必要があります。入力する最も重要な情報は Common Name です。ここで入力するドメイン名は、https を使用してアクセスするドメイン名です。たとえば、localhost と入力しました。残りの内容はお好みに応じて入力してください。上記の手順を完了すると、sslフォルダにtest.csrとtest.keyの2つのファイルが表示されます。 openssl req -new -key test.key -out test.csr # パスワードを削除します # SSL サポート付きの Nginx をロードし、上記の秘密キーを使用する場合は、必要なパスワードを削除します。そうしないと、nginx を起動するときにパスワードを入力する必要があります。 # test.key をコピーして、test.copy.key に名前を変更します # コマンドラインで以下のコマンドを実行してパスワードを削除します (このとき、上記の秘密鍵の作成時に入力したパスワードを入力する必要があります)。 openssl rsa -in テスト.コピー.キー -out テスト.キー # CRT 証明書を生成します。証明書の生成が完了しました。 ssl フォルダーに合計 4 つのファイルが生成されていることがわかりました。次に、https サーバーを構成するときに、test.crt と test.key の 2 つのファイルを使用する必要があります。 openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt nginxをダウンロードしてインストールし、nginxの設定を変更します生成された #ユーザーnobody; ワーカープロセス 1; #error_log ログ/error.log; #error_log ログ/error.log 通知; #error_log ログ/error.log 情報; #pid ログ/nginx.pid; イベント { ワーカー接続 1024; } http { mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log ログ/access.log メイン; ファイル送信オン; #tcp_nopush オン; #キープアライブタイムアウト 0; キープアライブタイムアウト65; #gzip オン; サーバー{ 聞く 80; server_name ローカルホスト; #文字セット koi8-r; #access_log ログ/host.access.log メイン; 位置 / { ルート D:/local-site; インデックス index.html index.htm; } #エラーページ 404 /404.html; # サーバーのエラーページを静的ページ /50x.html にリダイレクトします # エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルートhtml; } # PHP スクリプトを 127.0.0.1:80 で listen している Apache にプロキシします # #場所 ~ \.php$ { # プロキシパス http://127.0.0.1; #} # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します # #場所 ~ \.php$ { #ルートhtml; #fastcgi_pass 127.0.0.1:9000; # fastcgi_index インデックス.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #fastcgi_params を含めます。 #} # Apacheのドキュメントルートが.htaccessファイルへのアクセスを拒否する # nginxのものと一致します # #場所 ~ /\.ht { # すべて拒否; #} } サーバー{ 聞く 8086; ローカルホスト:8086 をリッスンします。 server_name ローカルホスト; gzip オン; gzip_バッファ 4 16k; gzip_comp_レベル6; gzip_vary オン; gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript; 位置 / { ルート D:/local-site/good-test; インデックス index.html index.htm; } 場所 ^~/api/ { ^~/api/(.*)$ /$1 を書き換えて、break; proxy_pass http://localhost:8080/; #プロキシIP:ポート} } # ここでは、HTTPS サーバー構成、リバース プロキシ、およびクロスドメイン サポートが使用されます。nginx とバックエンド サービスに注意してください。クロスドメインは nginx でのみ設定する必要があります。バックエンド サービスに対してクロスドメインを有効にしないでください。両側でクロスドメインを有効にすると、問題が発生します。# サーバー{ 443 ssl を聴く; server_name ローカルホスト; ssl_certificate テスト.crt; ssl_certificate_key テストキー; ssl_session_cache 共有:SSL:1m; ssl_session_timeout 5分; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers をオン; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } 位置 / { # 書き換え ^~/api/(.*)$ /$1 break; # add_header アクセス制御許可オリジン *; # クライアント要求メソッドを許可する add_header 'Access-Control-Allow-Methods' 'GET、POST、OPTIONS、DELETE、PUT'; # クライアントによって送信されたリクエスト ヘッダーを許可する add_header 'Access-Control-Allow-Headers' 'Origin、x-requested-with、Content-Type、Accept、Authorization'; # クライアントがクッキーを送信できるようにする add_header 'Access-Control-Allow-Credentials' 'true'; # クライアントが応答ヘッダーにアクセスできるようにする add_header 'Access-Control-Expose-Headers' 'Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma'; プロキシパス http://10.114.119.61:8080; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; } } サーバー{ 8443 ssl を聴く; server_name ローカルホスト; ssl_certificate テスト.crt; ssl_certificate_key テストキー; ssl_session_cache 共有:SSL:1m; ssl_session_timeout 5分; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers をオン; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } 位置 / { # 書き換え ^~/api/(.*)$ /$1 break; # add_header アクセス制御許可オリジン $http_origin; # クライアント要求メソッドを許可する add_header 'Access-Control-Allow-Methods' 'GET、POST、OPTIONS、DELETE、PUT'; # クライアントによって送信されたリクエスト ヘッダーを許可する add_header 'Access-Control-Allow-Headers' 'Origin、x-requested-with、Content-Type、Accept、Authorization'; # クライアントがクッキーを送信できるようにする add_header 'Access-Control-Allow-Credentials' 'true'; # クライアントが応答ヘッダーにアクセスできるようにする add_header 'Access-Control-Expose-Headers' 'Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma'; # これは、プロキシ proxy_pass http://10.114.119.61:7001 を必要とするサービスを構成するためのものです。 # プロキシパス https://172.16.46.38:8443; # プロキシパス http://10.114.119.61:8866; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; } } }
ローカルドメイン名の設定
設定を追加します:
Windows で Nginx を使用して https サーバーとリバース プロキシを構成する方法については、これで終わりです。Nginx による https サーバーの構成に関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: LinuxサーバーにVueプロジェクトをデプロイする
1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...
<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...
プロジェクトを作成するWeChat開発者ツールでプロジェクトを作成し、言語でTypeScriptを選...
Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトラ...
nginx サーバーnginx は、静的ファイルの処理に非常に効率的な優れた Web サーバーです。...
目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...
ページ分割されたクエリを実行するには: 1. MySQL の場合、サブクエリと結合の使用は推奨されま...
(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...
Docker バージョン: [root@localhost gae_proxy]# docker バ...
目次Vue 再帰コンポーネントドラッグイベント最近、Vue を使用して、ドラッグ可能なツリー構造図と...
目次MVCCとはMVCC 実装MVCC はファントム リードを解決しますか? MVCCとはMVCC ...
1. 新旧ドメイン名のジャンプ適用シナリオ: ドメイン名ベースのリダイレクト。会社の古いドメイン名は...
MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having ...
現在、このような要件があります。ログインした人がカスタマー サービス担当者である場合、注文は「このカ...
サーバーにはNginx、データベースサポートにはMongo、Python言語のWebフレームワークに...