Size: a a a

2020 July 07

ss

syed s in nginx_ru
Hi guys
источник

DD

Den D in nginx_ru
Добрый день!
Есть докер контейнеры с nginx и php-fpm. Пытюсь настроить nginx чтобы он проксировал запросы со слэшом и без в конце url на php-fpm.
Т.е. url вида http://localhost:8082/result и http://localhost:8082/result/ должны обрабатываться php-fpm. Но ничего не работает: при попытке зайти на эти url происходит редирект на http://localhost/result/, теряется порт. Что не так?

default.conf:

server {
   listen 80;
   index index.php index.html;
   server_name localhost:8082;
   root /app;

   port_in_redirect on;
   absolute_redirect off;

   location / {
       try_files $uri /index.php?$args;
   }

   location ~ \.php$ {
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass fssp-api-php-fpm:9000;
       fastcgi_index index.php;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PATH_INFO $fastcgi_path_info;
   }
}

docer-compose.yaml:

version: '3'
services:
   fssp-api-nginx:
     build: api/docker/nginx
     volumes:
       - ./api/:/app
     depends_on:
       - fssp-api-php-fpm
     ports:
       - "8082:80"
   fssp-api-php-fpm:
     build: api/docker/php-fpm
     volumes:
       - ./api/:/app
источник

SP

Sailor Popay in nginx_ru
Все добрый вечер. подскажите как сделать реврайт

test.com/privet/index    ->> test.com/privet/
источник

k

kiosaku in nginx_ru
Den D
Добрый день!
Есть докер контейнеры с nginx и php-fpm. Пытюсь настроить nginx чтобы он проксировал запросы со слэшом и без в конце url на php-fpm.
Т.е. url вида http://localhost:8082/result и http://localhost:8082/result/ должны обрабатываться php-fpm. Но ничего не работает: при попытке зайти на эти url происходит редирект на http://localhost/result/, теряется порт. Что не так?

default.conf:

server {
   listen 80;
   index index.php index.html;
   server_name localhost:8082;
   root /app;

   port_in_redirect on;
   absolute_redirect off;

   location / {
       try_files $uri /index.php?$args;
   }

   location ~ \.php$ {
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass fssp-api-php-fpm:9000;
       fastcgi_index index.php;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PATH_INFO $fastcgi_path_info;
   }
}

docer-compose.yaml:

version: '3'
services:
   fssp-api-nginx:
     build: api/docker/nginx
     volumes:
       - ./api/:/app
     depends_on:
       - fssp-api-php-fpm
     ports:
       - "8082:80"
   fssp-api-php-fpm:
     build: api/docker/php-fpm
     volumes:
       - ./api/:/app
без докера работает?
источник

k

kiosaku in nginx_ru
Sailor Popay
Все добрый вечер. подскажите как сделать реврайт

test.com/privet/index    ->> test.com/privet/
rewrite ^/privet/index /privet/;
источник

k

kiosaku in nginx_ru
только не совсем понятно - зачем?
источник

SP

Sailor Popay in nginx_ru
kiosaku
rewrite ^/privet/index /privet/;
а если для всех страниц
источник

k

kiosaku in nginx_ru
каких?
источник

SP

Sailor Popay in nginx_ru
источник

AM

Artur Mustafin in nginx_ru
Den D
Добрый день!
Есть докер контейнеры с nginx и php-fpm. Пытюсь настроить nginx чтобы он проксировал запросы со слэшом и без в конце url на php-fpm.
Т.е. url вида http://localhost:8082/result и http://localhost:8082/result/ должны обрабатываться php-fpm. Но ничего не работает: при попытке зайти на эти url происходит редирект на http://localhost/result/, теряется порт. Что не так?

default.conf:

server {
   listen 80;
   index index.php index.html;
   server_name localhost:8082;
   root /app;

   port_in_redirect on;
   absolute_redirect off;

   location / {
       try_files $uri /index.php?$args;
   }

   location ~ \.php$ {
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass fssp-api-php-fpm:9000;
       fastcgi_index index.php;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PATH_INFO $fastcgi_path_info;
   }
}

docer-compose.yaml:

version: '3'
services:
   fssp-api-nginx:
     build: api/docker/nginx
     volumes:
       - ./api/:/app
     depends_on:
       - fssp-api-php-fpm
     ports:
       - "8082:80"
   fssp-api-php-fpm:
     build: api/docker/php-fpm
     volumes:
       - ./api/:/app
потому что 1) через upstream решается
2) со слешем и без слеша - это вообще не нужно обрабатывать этим браузеры занимаются
источник

k

kiosaku in nginx_ru
скажи конечную цель. а то, поди, опять не туда и не так ...
источник

DD

Den D in nginx_ru
kiosaku
без докера работает?
а как это узнать?
источник

k

kiosaku in nginx_ru
Den D
а как это узнать?
запустить без докера
источник

AM

Artur Mustafin in nginx_ru
Den D
а как это узнать?
запусти вне докера
источник

SP

Sailor Popay in nginx_ru
kiosaku
скажи конечную цель. а то, поди, опять не туда и не так ...
будет трафик, который будет приходить на test.com/abc/index , этой страницы не существует, сущействует test.com/abc/
источник

DD

Den D in nginx_ru
Artur Mustafin
запусти вне докера
развернуть nginx без докера?
источник

AM

Artur Mustafin in nginx_ru
Den D
а как это узнать?
и не заработает потому что слеш дописывает браузер если что
источник

AM

Artur Mustafin in nginx_ru
Den D
развернуть nginx без докера?
да
источник

k

kiosaku in nginx_ru
Sailor Popay
будет трафик, который будет приходить на test.com/abc/index , этой страницы не существует, сущействует test.com/abc/
ну перехвати 404 и отдай нужное
источник

SP

Sailor Popay in nginx_ru
так а не проще срезать /index
источник