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

推薦する

IE6のバグと修正は予防戦略です

元記事:究極の IE6 チートシート: 25 以上の Internet Explorer 6 のバグ...

Hadoop を使用せずに Linux 環境に Spark のスタンドアロン バージョンをインストールする方法

ビッグデータはますます注目を集めており、ビッグデータのいくつかの構成要素に精通していないと、自慢でき...

nginxプロキシsocket.ioサービスの落とし穴の詳細な説明

目次Nginx は 2 つの socket.io サーバーをプロキシします。 socket.ioの動...

Vue を使用してモバイル APK プロジェクトを完了することについての簡単な説明

目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...

MySQLインデックス最適化分析に関する簡単な説明

記述した SQL クエリが遅いのはなぜですか?作成したインデックスが頻繁に失敗するのはなぜですか?こ...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

Linux で tcpdump コマンドを使用してデータ パケットをキャプチャおよび分析する方法の詳細な説明

序文tcpdump はよく知られたコマンドライン パケット分析ツールです。 tcpdump コマンド...

Linux で特定のユーザーにフォルダーのすべてのコンテンツを許可するにはどうすればよいですか?

【問題分析】 chown コマンドを使用できます。ここで ch は change (変更) を表し...

Dockerを使用して外部からアクセス可能なMySQLを構築する詳細な説明

MySQL 8.0をインストールする docker run -p 63306:3306 -e MYS...

この記事はPReact10.5.13のソースコードを理解するのに役立ちます

目次render.js 部分create-context.js 部分差分部分Reactのソースコード...

Nginx 正規表現の詳細な説明

Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...

MySQL インデックスに関するヒントのまとめ

目次1. インデックスの基礎知識1.1 インデックスの利点1.2 インデックスの有用性1.3 インデ...

vuex データの永続化のための 2 つの実装ソリューション

目次ビジネス要件:解決策 1: vuex-persistedstate解決策2: vuex-pers...

blockquote タグの使用に関する注意

<br />セマンティクス化は一言で説明することはできないし、まだ公式かつ厳密な定義もあ...

ノードスクリプトで自動サインインと抽選機能を実現

目次1. はじめに2. 準備3. スクリプトプロジェクトの構築4. コードの作成と実行5. まとめと...