nginx リバース プロキシは 80 ポートで複数の WeChat プロジェクトを構成します 詳細な説明
開発のために WeChat パブリック アカウント プラットフォームにアクセスしたい場合は、サーバー構成と次に、インターフェース文書のビジネスロジックに従って実装します。ただし、WeChat 公式アカウントのインターフェイスはインターフェイス 80 (ポート 80) のみをサポートします。ビジネス ニーズにより、WeChat 認証が必要な 2 つのプロジェクトを 1 つの公式アカウント ドメイン名で公開する必要があります。
この問題を解決するには、nginx サーバーをリバース プロキシとして使用できます。 nginx サーバーは外部からポート 80 にアクセスし、その後、さまざまな URL パラメータに基づいて内部的にさまざまなプロジェクトにアクセスします。
nginx の設定は次のとおりです:
/usr/local/nginx/conf/nginx.conf
worker_processes 4; error_log logs/error.log; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; gzip_min_length 1k; gzip_buffers 16 64k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain application/x-javascript text/css application/xml application/javascript; gzip_vary on; #指向项目一 upstream backend1 { server 192.168.1:8081; } #指向项目二 upstream backend2{ 192.168.1.1:8082; } proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache:128m inactive=1d max_size=1g; include vhosts/*; }
を開きます / usr/local /reverse_proxy_nginx/conf/nginx.conf
worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; access_log /home/nginx_log/reverse_proxy_no1_access.log; sendfile on; keepalive_timeout 65; upstream backend1 { #server 192.168.1.1:8181; server 192.168.1.1:8081; } upstream backend2 { #server 192.168.1.1:8082; server 192.168.1.1:8082; } proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache:128m inactive=30m max_size=1g; server { listen 8081; server_name h5.xxxx.com; location / { proxy_pass http://backend1; #proxy settings proxy_redirect off; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; add_header nginx-res "http://backend1"; } location ~ ^/(h5)(.*)$ { proxy_pass http://backend2; proxy_redirect off; proxy_set_header host $host; proxy_cache cache; proxy_cache_valid 200 302 1d; proxy_cache_valid 301 1d; proxy_cache_valid any 1m; expires 1h; add_header nginx-res "http://backend2"; proxy_ignore_headers "cache-control" "expires" "set-cookie"; add_header nginx-cache "$upstream_cache_status"; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ .*\.(gif|jpg|png|css|js|ico)(.*) { proxy_pass http://backend1; proxy_redirect off; proxy_set_header host $host; proxy_cache cache; proxy_cache_valid 200 302 30d; proxy_cache_valid 301 1d; proxy_cache_valid any 1m; expires 30d; proxy_ignore_headers "cache-control" "expires" "set-cookie"; add_header nginx-res "http://backend1"; add_header nginx-cache "$upstream_cache_status"; }
以上がNginx リバースプロキシポート 80 で複数の WeChat を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。