Конфигурация nginx proxy_pass для двух сервисов, работающих на портах diff

Результирующий набор запроса в PHP предлагает пару функций, позволяющих именно это:

    numCols() 
    columnName(int $column_number )

Пример

    $db = new SQLIte3('mysqlite.db');
    $table = 'mytable';

    $tableCol = getColName($db, $table);

    for ($i=0; $i<count($tableCol); $i++){
        echo "Column $i = ".$tableCol[$i]."\n";
    }           

    function getColName($db, $table){
        $qry = "SELECT * FROM $table LIMIT 1";
        $result = $db->query($qry);
        $nCols = $result->numCols();
        for ($i = 0; $i < $ncols; $i++) {
            $colName[$i] = $result->columnName($i);
        }
        return $colName;
    }
-1
задан Ignacio Martínez 4 March 2019 в 17:13
поделиться

1 ответ

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

Используя return ing неиспользуемые коды состояния HTTP и error_page для тех кодов, которые установлены в именованные местоположения, мы можем пересылать запросы в эти именованные местоположения:

server {
  server_name example.com;

  listen 80;
  listen [::]:80 ipv6only=on;

  return 301 https://example.com$request_uri;
}

server {
    server_name example.com;

    listen 443 ssl;

    ssl_certificate     /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    ...

    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_set_header X-Forwarded-Proto $scheme;

    error_page 350 = @client;
    error_page 351 = @server;

    location /api/v1/ {
        return 351;
    }

    location / {
        return 350;
    }

    location @client {
        proxy_pass http://client:8081;
    }

    location @server {
        proxy_pass http://server:8080/api/v1/;
    }

}
0
ответ дан Danila Vershinin 4 March 2019 в 17:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: