Alibaba Cloud OSS によってアップロードされた Nginx プロキシ転送実装コード

Alibaba Cloud OSS によってアップロードされた Nginx プロキシ転送実装コード

序文

ミニプログラムのアップロードには https が必要なので、サーバーの https は letsencrypt によって生成された証明書を使用しますが、Alibaba Cloud OSS は https をしません (証明書をアップロードするのが面倒)。そのため、アップロード要求を転送するために Nginx プロキシを使用することを考えました。

Nginx の設定

# HTTPS サーバー
#
 サーバー{
  443 ssl を聴く;
  server_name your.domain.name;

  ...

  位置 / {
    プロキシパス http://127.0.0.1:3000;
    proxy_set_header ホスト $Host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For 
  }

  場所 /oss {
    proxy_set_header ホストdrift-book-dev.oss-cn-shenzhen.aliyuncs.com;
    proxy_set_header 接続キープアライブ;
    proxy_pass http://***.oss-cn-***.aliyuncs.com/;
    #proxy_set_header X-Real-IP $remote_addr;
    #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 }

ここでは、サブパス「/oss」が転送パスとして使用されます。

proxy_pass は Alibaba Cloud ドメイン名を指定します。最後にスラッシュ「/」を追加することを忘れないでください。そうしないと転送が失敗します。

nginx プロキシ転送を設定する proxy_pass

次の 4 つの状況がそれぞれ http://192.168.1.1/proxy/test.html を使用してアクセスされると仮定します。

最初のもの:

場所 /proxy/ { 
  プロキシパス http://127.0.0.1/; 
} 

URL へのプロキシ: http://127.0.0.1/test.html

2 番目のタイプ (最初のタイプと比較して、末尾の / が 1 つ少ない)

場所 /proxy/ { 
  プロキシパス http://127.0.0.1; 
} 

URL へのプロキシ: http://127.0.0.1/proxy/test.html

3番目のタイプ:

場所 /proxy/ { 
  プロキシパス http://127.0.0.1/aaa/; 
} 

URL へのプロキシ: http://127.0.0.1/aaa/test.html

4 番目のタイプ (3 番目のタイプと比較して、末尾の / が 1 つ少ない)

場所 /proxy/ { 
  プロキシパス http://127.0.0.1/aaa; 
} 

URL へのプロキシ: http://127.0.0.1/aaatest.html

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • プロキシ転送リクエストの例を使用した Nginx の詳細な説明
  • Nginxリバースプロキシはイントラネットドメイン名転送に使用されます
  • 内部 LAN で URL 転送構成を実装するためのリバース プロキシとしての Nginx サーバー

<<:  MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Windows10)

>>:  jQueryの競合問題を解決する方法

推薦する

MySQL 永続統計の詳細な説明

1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...

CSS グリッドレイアウトで列にアイテムを埋め込む方法

n 個のアイテムがあり、これらのアイテムをグリッド レイアウトの列に並べ替える必要があるとします。列...

すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください

各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...

MySQL の NOT IN 充填ピットの NULL 列の問題の解決方法

以前、会社で小さな機能に取り組んでいたとき、特定の状況でデータがいくつあるかを数えてから問題を修正し...

JavaScript初心者がよく犯す間違い

目次序文undefined と null の混同紛らわしい数値の加算と文字列の連結戻り文の改行の問題...

Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)

序文HTTP と HTTPS日常生活でよく使われる URL は、おおまかに次の 2 種類に分けられま...

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

Windows 10 での MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル

この記事では、最新バージョンの MySQL データベース、つまり MySQL 5.7.17 圧縮バー...

MacOS に MySQL 8.0 をインストールして MySQL にログインする方法

公式チュートリアルに従って、インストール パッケージをダウンロードし、[インストール] をクリックし...

サブセットかどうかを判断するためのMySQLメソッドの手順

目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...

TypeScriptの基本型の詳細な説明

目次ブール型数値型文字列型文字列と数値を連結する未定義およびnull配列型タプル型列挙型あらゆるタイ...

Hyper-V の紹介とインストールと使用 (詳細な図解)

はじめに:IT 業界の巨人である Microsoft 独自の仮想化技術は、VMware や Citr...

Linuxでディスクをマウントする方法

仮想マシンを使用しているときに、ディスク容量が不足し、継続使用するためにディスクをマウントする必要が...

Vue.js パフォーマンス最適化 N 個のヒント (収集する価値あり)

目次機能コンポーネント子コンポーネントの分割ローカル変数v-show によるDOMの再利用キープアラ...

スタイル属性 (element.style) で定義されたインライン スタイルを削除する方法

Magento を頻繁に変更する場合、element.style に遭遇することがあります。 これは...