Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解
Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解
我們要接入微信公眾號(hào)平臺(tái)開(kāi)發(fā),需要填寫(xiě)服務(wù)器配置,然后依據(jù)接口文檔才能實(shí)現(xiàn)業(yè)務(wù)邏輯。但是微信公眾號(hào)接口只支持80接口(80端口)。我們因業(yè)務(wù)需求需要在一個(gè)公眾號(hào)域名下面,發(fā)布兩個(gè)需要微信授權(quán)的項(xiàng)目,怎么辦?
我們可以用nginx服務(wù)器做反向代理來(lái)解決這個(gè)問(wèn)題。nginx服務(wù)器對(duì)外80端口,然后根據(jù)URL參數(shù)不同,對(duì)內(nèi)訪問(wèn)不同的項(xiàng)目。

nginx配置如下:
打開(kāi)/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/*;
}
打開(kāi)/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)我們打開(kāi)URL包含h5時(shí),就會(huì)跳到8081端口項(xiàng)目中,但是對(duì)外還是80端口。所以兩個(gè)項(xiàng)目可以同時(shí)實(shí)現(xiàn)微信授權(quán)登錄等。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析
這篇文章主要介紹了Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析,特別對(duì)管理以及查找匹配作出了詳細(xì)的講解,需要的朋友可以參考下2015-12-12
關(guān)于nginx沒(méi)有跳轉(zhuǎn)到upstream地址的解決
這篇文章主要介紹了關(guān)于nginx沒(méi)有跳轉(zhuǎn)到upstream地址的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
使用Nginx服務(wù)器如何實(shí)現(xiàn)動(dòng)靜分離和反向代理
這篇文章主要介紹了使用Nginx服務(wù)器如何實(shí)現(xiàn)動(dòng)靜分離和反向代理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
nginx訪問(wèn)日志并刪除指定天數(shù)前的日志記錄配置方法
這篇文章主要介紹了nginx訪問(wèn)日志并刪除指定天數(shù)前的日志記錄配置方法,需要的朋友可以參考下2014-03-03
PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯(cuò)誤的解決方法
這篇文章主要介紹了PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯(cuò)誤的解決方法,涉及nginx平臺(tái)的相關(guān)配置技巧,需要的朋友可以參考下2016-05-05
Nginx服務(wù)器的location指令匹配規(guī)則詳解
這篇文章主要介紹了Nginx服務(wù)器的location指令匹配規(guī)則,文中介紹了一種動(dòng)靜態(tài)地址分離的方法示例,需要的朋友可以參考下2015-12-12
nginx代理webSocket鏈接,webSocket頻繁斷開(kāi)重連方式
當(dāng)使用Nginx代理WebSocket連接時(shí),若60秒內(nèi)無(wú)數(shù)據(jù)交互,連接會(huì)斷開(kāi),解決辦法包括增加proxy_read_timeout時(shí)長(zhǎng)或在客戶端添加心跳機(jī)制,以維持連接穩(wěn)定2024-09-09
Nginx解決Http慢攻擊(Slow HTTP Attack)的方法
緩慢的HTTP拒絕服務(wù)攻擊是一種專(zhuān)門(mén)針對(duì)于Web的應(yīng)用層拒絕服務(wù)攻擊,本文給大家介紹了Nginx解決Http慢攻擊(Slow HTTP Attack)的方法,需要的朋友可以參考下2024-02-02

