«Как использовать proxy_pass в nginx для конкретных параметров запроса без нарушения других запросов?»Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 «Как использовать proxy_pass в nginx для конкретных параметров запроса без нарушения других запросов?»

Сообщение Anonymous »

Это моя конфигурация nginx: < /p>

Код: Выделить всё

user  nginx;
worker_processes  auto;

worker_rlimit_nofile 300000;
events {
worker_connections  16000;
use epoll;
accept_mutex on;
multi_accept on;
}
thread_pool pool_nxt threads=32 max_queue=0;
http {

log_format main $remote_addr - $remote_user [$time_local] | "$request" | "$status" | "$body_bytes_sent" | "$http_referer" | "$http_user_agent" | "$cookie_mac" | "$host";
include       mime.types;
default_type  application/octet-stream;
sendfile           on;
tcp_nopush         on;
tcp_nodelay        on;
reset_timedout_connection on;
gzip off;
fastcgi_read_timeout 200;
access_log /tmp/on main;
keepalive_timeout 10;
include balance.conf;
include block.conf;
include block2.conf;
include cloudflare.conf;
send_timeout 20m;
sendfile_max_chunk 512k;
lingering_close off;
aio threads=pool_nxt;

client_body_timeout 13s;
client_header_timeout 13s;
client_max_body_size 3m;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
limit_req_zone $binary_remote_addr zone=one:30m rate=20r/s;
server {
listen 8080;
index index.php index.html index.htm;
root /home/site/public/;
server_tokens off;
chunked_transfer_encoding off;
include ssl.conf;
if ( $request_method !~ ^(GET|POST)$ ) {
return 200;
}
rewrite_log on;

if ($request_uri ~* (data:image/jpeg) ) {return 444;  }

error_page 500 502 503 504 /custom_50x.html;
location = /custom_50x.html {
echo "";
internal;
}

error_page 400 401 404 403 /custom_40x.html;
location = /custom_40x.html {
echo "";
internal;
}

rewrite ^/player_api.php$ /api.php break;

location ^~ /images/ {
#
}
location ^~ /images/index.html {
return 404;
}
location ~ /images/.php$ {
return 404;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}

location ~ \.php$ {
limit_req zone=one burst=8;
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass php;
include fastcgi_params;
fastcgi_buffering on;
fastcgi_buffers 96 32k;
fastcgi_buffer_size 32k;
fastcgi_max_temp_file_size 0;
fastcgi_keep_conn on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
}
< /code>
В этой строке:  < /p>
rewrite ^/player_api.php$ /api.php break;
Я могу получить подобные запросы
аутентификация

Код: Выделить всё

player_api.php?username=X&password=X
Получить категории в прямом эфире

Код: Выделить всё

player_api.php?username=X&password=X&action=get_live_categories
Получить категории потока VOD

Код: Выделить всё

player_api.php?username=X&password=X&action=get_vod_categories
Категории серии

Код: Выделить всё

player_api.php?username=X&password=X&action=get_series_categories
Получить прямые трансляции

Код: Выделить всё

player_api.php?username=X&password=X&action=get_live_streams
< /code>
(это получит все прямые трансляции)player_api.php?username=X&password=X&action=get_live_streams&category_id=X
(это получит все живые потоки только в выбранной категории)
Получить потоки VOD

Код: Выделить всё

player_api.php?username=X&password=X&action=get_vod_streams
< /code>
(это получит все потоки VOD) < /p>
player_api.php?username=X&password=X&action=get_vod_streams&category_id=X
(это получит все потоки VOD только в выбранной категории)
get streams

Код: Выделить всё

player_api.php?username=X&password=X&action=get_series
< /code>
(это получит все серии) < /p>
player_api.php?username=X&password=X&action=get_series&category_id=X
(это получит все серии только в выбранной категории)
get info

Код: Выделить всё

player_api.php?username=X&password=X&action=get_series_info&series_id=X
получить vod info

Код: Выделить всё

player_api.php?username=X&password=X&action=get_vod_info&vod_id=X
< /code>
(это будет получать такую ​​информацию, как видеокодеки, продолжительность, описание, режиссеры для 1 Vod) < /p>
 get short_epg для живых потоков < /strong> (так же, как портал Stalker, печатает следующий x epg, который скоро сыграет)player_api.php?username=X&password=X&action=get_short_epg&stream_id=X
player_api.php?username=X&password=X&action=get_short_epg&stream_id=X&limit=X
(вы также можете указать предел, без ограничения, по умолчанию 4 списка EPG)
Получить все EPG для живых потоков (так же, как портал Stalker, но он будет печатать все списки EPG независимо от дня) < /p>

Код: Выделить всё

player_api.php?username=X&password=X&action=get_simple_data_table&stream_id=X
< /code>
Но я хочу в запросе, чтобы получить категории Live Stream специально, чтобы сделать прокси-прокси к этой ссылке < /p>
http://domain/player_api.php?username=X&password=X
Имя пользователя и пароль


Подробнее здесь: https://stackoverflow.com/questions/794 ... breaking-o
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»