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の競合問題を解決する方法

推薦する

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

Linux でリモートから MySQL を自動的にバックアップする方法

序文:基本的に、自社で使用する場合でも、顧客向けにサーバーを展開する場合でも、MySQL のバックア...

選択タグ内のオプションをクリアする3つの方法

方法1コードをコピーコードは次のとおりです。 document.getElementById(&qu...

ログインボックスのドラッグ効果を実現するためのJavascript

この記事では、ログインボックスのドラッグ効果を実現するためのJavascriptの具体的なコードを参...

CSSでフォントアイコンを使用する方法をお教えします

まず、フォントアイコンとは何でしょうか?表面的にはアイコンですが、実際はテキストです。テキストの設定...

mysql8.0.12 でルートパスワードをリセットする方法

データベースをインストールした後、誤ってインストール ウィンドウを閉じたり、長期間 root ユーザ...

CentOS7 に ElasticSearch 6.4.1 をインストールするための詳細なチュートリアル

1. ElasticSearch 6.4.1 インストール パッケージを次の場所からダウンロードしま...

MySQL 全文インデックスガイド

全文インデックスには特別なクエリ構文が必要です。全文検索はインデックスの有無にかかわらず実行できます...

MySQL 8.0.12 のインストールと設定のグラフィックチュートリアル

MySQL 8.0.12 のダウンロードとインストールのチュートリアルを録画し、全員と共有しました。...

HTML5 と HTML4 の 10 の主な違い

HTML5 は HTML 標準の次のバージョンです。ますます多くのプログラマーが、Web サイトの構...

mycat を使用して MySQL データベースの読み取りと書き込みの分離を実装する例

MyCATとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースク...

MySQLトランザクション処理の使用方法とサンプルコードの詳細な説明

MySQL トランザクション サポートは、MySQL サーバー自体にバインドされているのではなく、ス...

純粋な CSS3 で実装された三目並べゲーム

操作効果: html <div class="三目並べ"> <...

Dockerがsudo操作を使用する必要がある問題を解決する

手順は以下のとおりです1. dockerグループを作成する: sudo groupadd docke...

IE6はmin-widthを実装している

まず第一に、この効果は古い話題であるはずだということはわかっています。今日ファイルを整理していたら、...