Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解
Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解
我們要接入微信公眾號(hào)平臺(tái)開發(fā),需要填寫服務(wù)器配置,然后依據(jù)接口文檔才能實(shí)現(xiàn)業(yè)務(wù)邏輯。但是微信公眾號(hào)接口只支持80接口(80端口)。我們因業(yè)務(wù)需求需要在一個(gè)公眾號(hào)域名下面,發(fā)布兩個(gè)需要微信授權(quán)的項(xiàng)目,怎么辦?
我們可以用nginx服務(wù)器做反向代理來解決這個(gè)問題。nginx服務(wù)器對(duì)外80端口,然后根據(jù)URL參數(shù)不同,對(duì)內(nèi)訪問不同的項(xiàng)目。
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; #指向項(xiàng)目一 upstream backend1 { server 192.168.1:8081; } #指向項(xiàng)目二 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"; }
當(dāng)我們打開URL包含h5時(shí),就會(huì)跳到8081端口項(xiàng)目中,但是對(duì)外還是80端口。所以兩個(gè)項(xiàng)目可以同時(shí)實(shí)現(xiàn)微信授權(quán)登錄等。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實(shí)現(xiàn)
這篇文章主要介紹了Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Nginx反向代理多域名的HTTP和HTTPS服務(wù)的實(shí)現(xiàn)
這篇文章主要介紹了Nginx反向代理多域名的HTTP和HTTPS服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的
nginx-exporter 是 Prometheus 用來從 Nginx 收集指標(biāo)的組件,這篇文章給大家介紹Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的詳細(xì)步驟,感興趣的朋友跟隨小編一起看看吧2024-08-08nginx配置多個(gè)虛擬主機(jī)vhost的方法示例
這篇文章主要介紹了nginx配置多個(gè)虛擬主機(jī)vhost的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10Nginx中的root&alias文件路徑及索引目錄配置詳解
這篇文章主要介紹了Nginx中的root&alias文件路徑及索引目錄配置,順帶講解了root和alias命令的用法,需要的朋友可以參考下2016-01-01