Commit bbfb2f8d authored by 王鹏鸿's avatar 王鹏鸿

add backend nginx degraded file

parent e780d149
# include /etc/nginx/gmapps/limit_global;
# include /etc/nginx/gmapps/deny;
#limit_req_zone $http_x_forwarded_for zone=one:10m rate=1r/s;
proxy_buffer_size 256k;
proxy_buffers 32 256k;
proxy_busy_buffers_size 256k;
server {
listen 80 default;
#server_name wanmeizhensuo.com www.wanmeizhensuo.com gengmeiinteractive.com www.gengmeiinteractive.com backend.prod.gengmei.cc backend.gmei.com open-backend.gmei.com backend.gengmeiapp.com backend.igengmei.com xcx.igengmei.com backend.wanmeizhensuo.com;
# server_name backend.igengmei.com wanmeizhensuo.com www.wanmeizhensuo.com gengmeiinteractive.com www.gengmeiinteractive.com backend.prod.gengmei.cc open-backend.gmei.com backend.gengmeiapp.com xcx.igengmei.com primary.backend.service.dc1.consul;
# server_name_in_redirect on;
server_tokens off; # don't show the version number, a security best practice
# Increase this if you want to upload large attachments
# Or if you want to accept large git objects over http
client_max_body_size 20m;
# individual nginx logs for this gitlab vhost
access_log /data/log/backend/nginx/nginx_access.log gmapps_json;
error_log /data/log/backend/nginx/nginx_error.log ; #debug;
# if a file, which is not found in the root folder is requested,
# then the proxy pass the request to the upsteam (gitlab unicorn)
error_page 404 /404.html;
set $gmapp_name backend;
real_ip_header X-Forwarded-For;
# include /etc/nginx/gmapps/deny_list;
set $gm_request_id $request_id;
proxy_set_header X-Forwarded-For $http_remoteip;
# if ( $denied = '1' ) { return 403; }
#####phantom-START#####
# root /srv/apps/phantom/phantom-release;
location /phantom/ {
# try_files $uri $uri /index.html;
# X-GM-Path will be /prod/backend or /grey/backend, doesn't fit the old linkerd mesh rule.
# but can work with istio becase we judge only be prefix /grey or /prod
proxy_http_version 1.1;
proxy_pass http://phantom:80/phantom/;
}
location /assets/ {
proxy_http_version 1.1;
proxy_pass http://phantom:80/assets/;
}
location /phantomStatic/ {
proxy_http_version 1.1;
proxy_pass http://phantom:80/phantomStatic/;
}
location ~ ^/hybrid/organization/(.*)$ {
return 301 http://$host/phantom/organization/$1$is_args$args;
}
#####phantom-END#####
location = / {
#return 301 http://www.igengmei.com/;
if ($host = 'backend.igengmei.com') {
return 301 http://www.igengmei.com/;
}
if ($host = 'backend.wanmeizhensuo.com') {
return 301 http://www.wanmeizhensuo.com/;
}
}
location / {
try_files $uri $uri/ =404;
# if ( $denied = '1' ) { return 403; }
}
location /lipstick/ {
alias /srv/share/backend/lipstick/;
}
location /pretty {
#proxy_set_header X-Forwarded-For $http_remoteip;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header Host $http_host;
#proxy_redirect off;
#proxy_pass http://127.0.0.1/event/pretty;
#return 301 http://www.gengmei.cc;
#return 301 http://www.igengmei.com;
if ($host = 'backend.igengmei.com') {
return 301 http://www.igengmei.com;
}
if ($host = 'backend.wanmeizhensuo.com') {
return 301 http://www.wanmeizhensuo.com;
}
}
location /event/download {
#return 301 http://www.gengmei.cc;
#return 301 http://www.igengmei.com;
if ($host = 'backend.igengmei.com') {
return 301 http://www.igengmei.com;
}
if ($host = 'backend.wanmeizhensuo.com') {
return 301 http://www.wanmeizhensuo.com;
}
}
location /tuangou {
return 301 /api/order/validate/;
}
location /favicon.ico {
proxy_http_version 1.1;
proxy_pass http://static/backend/static/favicon.ico;
}
location /nginx-status {
stub_status on;
access_log off;
allow 60.195.252.106;
allow 42.62.40.67;
allow 10.6.5.209;
deny all;
}
location ~ ^/hybrid/question_v1 {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri.json @hybrid_no_parms;
}
location ~ ^/hybrid/question/new_answer_list {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_question_id.json @hybrid_have_parms;
}
location ~ ^/hybrid {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri.json @hybrid_have_parms;
}
location @hybrid_have_parms {
add_header static 1 always;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000$uri$is_args$args;
}
location @hybrid_no_parms {
add_header static 1 always;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000$uri$is_args$args;
}
# /api/report/reason/路由匹配
location = /api/report/reason/ {
default_type application/json;
root /srv/share;
try_files /jiangstatus/api/report/reason.json @api_have_parms;
}
# /api/get_badge/路由匹配
location = /api/get_badge/ {
default_type application/json;
root /srv/share;
try_files /jiangstatus/api/get_badge.json @api_have_parms;
}
# /api/tractate/路由匹配
location = /api/tractate/reply {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_id.json @api_have_parms;
}
location ~ ^/api/tractate {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_tractate_id.json @api_have_parms;
}
# api/app/config_v4 路由配置
location ~ ^/api/app/config_v4 {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_platform.json @api_have_parms;
}
location ~ ^/api/app/config_v2 {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_platform.json @api_have_parms;
}
# /api/index/v8路由匹配
location ~ ^/api/index/v8 {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_tabtype.json /jiangstatus/$uri/choice.json @api_have_parms;
}
# # api/search/default/activity路由匹配
# location ~ ^/api/search/default {
# default_type application/json;
# root /srv/share;
# try_files /jiangstatus/$uri/$arg_device_id.json @api_have_parms;
# }
# api/diary/路由匹配
location ~ ^/api/diary {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_diary_id.json @api_have_parms;
}
location ~ ^/api/diary/topic/\d+/\_data {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri.json @api_no_parms;
}
# api/personal/recommends/v1 路由匹配
location ~ ^/api/personal/recommends/v1 {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/${arg_from_type}_${arg_id}.json @api_have_parms;
}
# api/answer/detail 路由匹配
location ~ ^/api/answer/detail {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_answer_id.json @api_have_parms;
}
# api/service/home/v5/specials 路由匹配
location ~ ^/api/service/home/v5/specials {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri.json @api_have_parms;
}
# api/service/home/feed 路由匹配
location ~ ^/api/service/home/feed {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/${arg_tab_value}_${arg_first_load}.json @api_have_parms;
}
# api/janus/product/mall/service_home_feed 路由匹配
location ~ ^/api/janus/product/mall/service_home_feed {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/${arg_first_load}.json @api_janus;
}
# # api/live/get_live_info/audience 路由匹配
# location ~ ^/api/live/get_live_info/audience {
# default_type application/json;
# root /srv/share;
# try_files /jiangstatus/$uri/$arg_channel_id.json @api_live_get_live_info_audience;
# }
# api/janus/live/live_gifts 路由匹配
location ~ ^/api/janus/live/live_gifts {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/${arg_stream_id}_${arg_channel_id}.json @api_janus;
}
# api/janus/live/audience_services 路由匹配
location ~ ^/api/janus/live/audience_services {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/${arg_stream_id}_${arg_channel_id}.json @api_janus;
}
# api/janus/live/m/get_live_info/audience 路由匹配
location ~ ^/api/janus/live/m/get_live_info/audience {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/$arg_channel_id.json @api_janus;
}
# api/janus/live/m/live_gifts 路由匹配
location ~ ^/api/janus/live/m/live_gifts {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri/${arg_stream_id}_${arg_channel_id}.json @api_janus;
}
# /api/janus 路由匹配
location ~ ^/api/janus {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri.json @api_janus;
}
# api 下资源
location ~ ^/api {
default_type application/json;
root /srv/share;
try_files /jiangstatus/$uri.json @api_no_parms;
}
location @api_have_parms {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
#proxy_set_header X-Forwarded-For $http_remoteip;
add_header static 1 always;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000$uri$is_args$args;
# limit_req zone=one burst=5;
}
location @api_no_parms {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
#proxy_set_header X-Forwarded-For $http_remoteip;
add_header static 1 always;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000$uri$is_args$args;
# limit_req zone=one burst=5;
}
location /v2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_set_header X-GM-Path $http_x_gm_path;
proxy_http_version 1.1;
proxy_pass http://device;
}
location ^~ /api/live/danmu {
# location /api/live/danmu {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
# TODO: 这里加的 X-GM-Path应该没法满足当前灰度规则吧?
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://danmu;
}
# location @api_live_get_live_info_audience {
location /api/live/get_live_info/audience {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_redirect off;
proxy_set_header X-GM-Path $http_x_gm_path;
proxy_http_version 1.1;
# proxy_pass http://janus/api/janus/live/get_live_info/audience$is_args$args;
proxy_pass http://janus/api/janus/live/get_live_info/audience;
}
location /api/face/query_result {
proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $server_name;
# face接口的一个功能是由danmu服务的代码实现的 wph
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://danmu;
}
location /api/order/validate {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
#proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://ascle/doctor/verify;
}
location /gm_ai {
# proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://gm-ai;
}
location /pay {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://127.0.0.1:8000;
}
location /doctor {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
#proxy_pass http://doctor.gengmei.cc;
#proxy_pass http://doctor.gmei.com;
# proxy_pass http://127.0.0.1:4321;
# TODO: nginx 透传 X-GM-Path
proxy_http_version 1.1;
proxy_pass http://ascle;
}
location /doctor/register/ {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://ascle/doctor/register;
}
location /analytics/page/ {
return 404;
}
location /stat {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
location /join {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
location /contacts {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
location /files {
#uwsgi_pass 127.0.0.1:3630;
#include uwsgi_params;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
location /accounts {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
location /xcx {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $http_remoteip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
location @api_janus {
add_header static 1 always;
# proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://janus$uri$is_args$args;
}
location /bff-release/ {
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_http_version 1.1;
proxy_redirect off;
proxy_pass http://wings-soho/bff-release/;
}
location /bff/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://wings-soho/bff/;
}
location /compact {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-GM-Request-Id $gm_request_id;
proxy_redirect off;
proxy_http_version 1.1;
proxy_pass http://compact;
}
location /api/ok {
access_log off;
default_type text/html;
return 200 'ok';
}
location ~ ^/zhengxing/static/(.*)$ {
alias /srv/share/backend/static/$1;
expires 864000;
}
location ~ ^/zhengxing/media/apk/(.*)$ {
alias /srv/media/backend/media/apk/$1;
}
location ~ ^/zhengxing/media/([^-]*)(-.*)?$ {
alias /srv/media/backend/media/$1;
expires 864000;
}
location ~ ^/static/(.*)$ {
alias /srv/share/backend/static/$1;
# expires 864000;
expires 10d;
}
location ~ ^/media/apk/(.*)$ {
alias /srv/media/backend/media/apk/$1;
}
location ~ ^/media/(.*)$ {
alias /srv/media/backend/media/$1;
expires 864000;
}
location /wuhongfei {
return 301 /event/download/wuhongfei/;
#rewrite ^(/wuhongfei) /event/download/wuhongfei/ break;
}
location /nvqingshou{
return 301 /event/download/nvqingshou/;
#rewrite ^(/nvqingshou) /event/download/nvqingshou/ break;
}
location /guanbo{
return 301 /event/download/guanbo/;
#rewrite ^(/guanbo) /event/download/guanbo/ break;
}
location /weibo{
return 301 /event/download/weibo/;
#rewrite ^(/weibo) /event/download/weibo/ break;
}
location /mrlittlebush{
return 301 /event/download/mrlittlebush/;
#rewrite ^(/mrlittlebush) /event/download/mrlittlebush/ break;
}
location /event/bjdy{
return 301 /event/download/bjdy/;
#rewrite ^(/nvqingshou) /event/download/bjdy/ break;
}
location /event/bjwd{
return 301 /event/download/bjwd/;
#rewrite ^(/nvqingshou) /event/download/bjwd/ break;
}
location /event/love163{
return 301 /event/download/love163/;
#rewrite ^(/nvqingshou) /event/download/love163/ break;
}
location /event/cd{
return 301 /event/download/cd/;
#rewrite ^(/nvqingshou) /event/download/cd/ break;
}
location /event/guoyinxufan{
return 301 /event/download/guoyinxufan/;
#rewrite ^(/nvqingshou) /event/download/guoyinxufan/ break;
}
location /event/tengxunweibo{
return 301 /event/download/tengxunweibo/;
#rewrite ^(/nvqingshou) /event/download/tengxunweibo/ break;
}
location /event/book-zxsrj{
return 301 /event/download/book-zxsrj/;
#rewrite ^(/nvqingshou) /event/download/book-zxsrj/ break;
}
location /event/fx{
return 301 /event/download/fx/;
#rewrite ^(/nvqingshou) /event/download/fx/ break;
}
location /event/wuhongfei {
return 301 /event/download/wuhongfei/;
#rewrite ^(/wuhongfei) /event/download/wuhongfei/ break;
}
location /event/nvqingshou{
return 301 /event/download/nvqingshou/;
#rewrite ^(/nvqingshou) /event/download/nvqingshou/ break;
}
location /event/guanbo{
return 301 /event/download/guanbo/;
#rewrite ^(/guanbo) /event/download/guanbo/ break;
}
location /event/weibo{
return 301 /event/download/weibo/;
#rewrite ^(/weibo) /event/download/weibo/ break;
}
location /event/mrlittlebush{
return 301 /event/download/mrlittlebush/;
#rewrite ^(/mrlittlebush) /event/download/mrlittlebush/ break;
}
location /app{
return 301 /event/download/mp/;
#rewrite ^(/mp) /event/download/mp/ break;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /api/error_report/h5_load_err_report{
return 200;
access_log /data/log/backend/nginx/h5.log gmapps_json;
}
location = /MP_verify_Y1Ut3Gk4AP2ST6FM.txt {
alias /srv/share/MP_verify_Y1Ut3Gk4AP2ST6FM.txt;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment