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

推薦する

docker-maven-plugin の詳細な使用方法

目次Docker-Maven-プラグインMavenプラグインの自動デプロイメント手順1. ホストマシ...

CentOS 6.5 インストール mysql5.7 チュートリアル

1. 新機能MySQL 5.7 はエキサイティングなマイルストーンです。デフォルトの InnoDB ...

Linux での SSH 非秘密通信の実装

SSHとは何か管理者はリモートでログインして、インターネット経由で接続されたさまざまな場所にある複数...

redhat7 に yum 経由で mysql5.7.17 をインストールするチュートリアル

RHEL/CentOS シリーズの Linux オペレーティング システムには MySQL ソース自...

AngularパイプラインPIPEの紹介と使い方

序文PIPE、パイプラインと翻訳されます。 Angular パイプは、HTML コンポーネントで宣言...

MySQL 数値型オーバーフローの処理方法

さて、質問させてください。MySQL で列を int(0) に設定すると何が起こりますか?この問題を...

Windows が MySQL サービスを開始できず、エラー 1067 を報告する場合の解決策

突然、MySQLにログインすると、アクセスが拒否されたか、データベースに接続できないと表示されました...

Nginx で IP と IP 範囲をブロックする方法

前面に書かれたNginx は単なるリバース プロキシおよび負荷分散サーバーではなく、電流制限、キャッ...

MacでのMySQL初期化パスワード操作

Macでデータベースを操作する際に個人が遭遇するデータベース起動の問題の簡単な記録1. Apple-...

Vue はトークンの有効期限が切れると自動的にログインページにジャンプする機能を実装します

このプロジェクトは最近テストされ、テスターから、トークンの有効期限が切れたため、ルートが自動的にログ...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...

CSSは親要素の下の最初の子要素を選択します(:first-child)

序文最近、プロジェクトで :first-child を使用したのですが、すぐに思いつきました。これは...

フレックスレイアウトではサブアイテムの高さを維持できる

Flex レイアウトを使用すると、水平に配置すると、すべての子項目の高さが同じになることがわかります...

MySQLが正常にインストールされたかどうかを確認する方法

MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...