Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Nginx

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6

Открыть новую тему     Написать ответ в эту тему

Fafnir777

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NGINX + spawn-fcgi + PHP 5.2.6
 
NGINX отдает только sitename.com/script.php
 
При создании подкаталога, например вида sitename.com/subdir/script.php, выбрасывает 404.
 
Конфиг
*******************************************
user www;
worker_processes 2;
 
pid /var/run/nginx.pid;
error_log /var/log/nginx-error.log warn;
 
events {
  worker_connections 1024;
  use kqueue;
}
 
http {
  include mime.types;
  default_type application/octet-stream;
 
  # log options
  log_format main '$remote_addr - $remote_user [$time_local] '
  '"$request" $status $bytes_sent '
  '"$http_referer" "$http_user_agent" '
  '"$gzip_ratio"';
 
  # nginx options
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  server_tokens off;
 
 
 # fastcgi
  fastcgi_intercept_errors on;
 
  server {
  listen 80;
 
  server_name localhost;
 
  access_log /var/log/nginx.log main;
  location ~* ^.+\.(php)$ {
  fastcgi_pass 127.0.0.1:1026;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
  include fastcgi_params;
  }
 
  location / {
  root /usr/local/www/mydomain;
  index index.php index.html index.htm;
  }
  }
 
server {
  listen 80;
 
  server_name sitename.com www.sitename.com;
 
  access_log /var/log/nginx.log main;
  location ~* ^.+\.(php)$ {
  fastcgi_pass 127.0.0.1:1026;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /usr/local/www/sitename.com$fastcgi_script_name;
  include fastcgi_params;
  }
 
  location / {
  root /usr/local/www/sitename.com;
  index index.php index.html index.htm;
  }
  }
}

Всего записей: 9 | Зарегистр. 08-02-2005 | Отправлено: 00:49 14-10-2008
BlackLabel



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
del

Всего записей: 1027 | Зарегистр. 14-04-2004 | Отправлено: 09:41 06-10-2021 | Исправлено: BlackLabel, 14:49 06-10-2021
vovalm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите как правильно написать location
Есть сервер на нем в var/www/html каталог Content
Надо сделать так чтоб если запрос идет на каталог контент и там есть файл который запрашиваеться то nginx должен его отдавать. во всех других случаях пересылать на другой сервер например http://mainserver.com

Всего записей: 58 | Зарегистр. 11-07-2009 | Отправлено: 13:04 26-11-2021
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vovalm
в общем виде

Цитата:
server {
    listen 80;
 
    root /path/to/documents;
 
    location / {
        try_files $uri @redirect;  
    }
 
    location @redirect {
        return 301 http://mainserver.com$request_uri;
    }
}

 

Цитата:
во всех других случаях пересылать на другой сервер

есть какие то файлы вне Content?

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 02:23 29-11-2021
ForAdun



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть почтовый сервак  c postfixadmin на nginx.
сейчас он доступен отовсюду, что мне не очень нравится.
админка доступна по адресу https://почтовик/postfixadmin/public/login.php
добавил в конфиге  
 
location /postfixadmin  {
allow 192.168.1.111; # мой рабочий ip
deny all;
}
 
после этого страничка с остальных адресов получается урезанной (без картинок и стилей), но при этом в неё по прежнему можно залогиниться, ...
 
подскажите плиз как ограничить доступ к админке?

Всего записей: 66 | Зарегистр. 14-07-2006 | Отправлено: 21:06 15-06-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForAdun

Цитата:
location /postfixadmin

а так?
location ^~ /postfixadmin

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 22:54 15-06-2022
ForAdun



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так лучше, но с разрешенных адресов, скачивает login.php, вместо того чтобы открыть
а с остальных пишет сразу 403 Forbidden
 

Всего записей: 66 | Зарегистр. 14-07-2006 | Отправлено: 07:48 16-06-2022 | Исправлено: ForAdun, 08:14 16-06-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForAdun
скопируйте внутрь location строки для обработки php.
потому, что останавливается только на этом.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:39 16-06-2022
andynn1976

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите
 
Заякорил несколько доменных имен на nginx и использую его как reverse proxy - все работает но немного нервируют сообщения при перезапуске сервера или проверки конфы
 
nginx: [warn] conflicting server name "proxy.site.ru" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "vpn.site.ru" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "proxy.site.ru" on 0.0.0.0:443, ignored
nginx: [warn] conflicting server name "vpn.site.ru" on 0.0.0.0:443, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 
В конфе секции такие
 
(аналогичны для всех сайтов)
 
 
server {
        listen 80 ;
        server_name proxy.site.ru;
        #access_log /var/log/nginx/proxy-access.log;
        #error_log /var/log/nginx/proxy-error.log;
        if ($http_x_forwarded_proto = "http") {
           return 301 https://$server_name$request_uri;  
        }
 
        # SSL configuration
        listen 443  ssl http2;
        server_name proxy.site.ru;
        access_log /var/log/nginx/proxy-ssl-access.log;
        error_log /var/log/nginx/proxy-ssl-error.log info;
       
 
 
Спасибо заранее
 

Всего записей: 103 | Зарегистр. 27-04-2007 | Отправлено: 16:42 07-07-2022
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andynn1976
Проверь, не осталось ли каких ошметков от конфигов  
grep -r proxy.site.ru /etc/nginx/sites-enabled
Некоторые текстовые редакторы любят оставлять временные файлы
после завершения редактирования

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17274 | Зарегистр. 13-06-2007 | Отправлено: 17:03 07-07-2022
andynn1976

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
[/q]
[q]Проверь, не осталось ли каких ошметков от конфигов  
grep -r proxy.site.ru /etc/nginx/sites-enabled

 
Проверял уже это в первую очередь...
 
Сам не понимаю в связи с чем так себя ведет.

Всего записей: 103 | Зарегистр. 27-04-2007 | Отправлено: 09:22 08-07-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andynn1976

Цитата:
Сам не понимаю в связи с чем так себя ведет

Зачем две одинаковых директивы server_name и одном блоке server?

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 12:22 08-07-2022
andynn1976

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Зачем две одинаковых директивы server_name и одном блоке server?

 
Чет не обращал никогда на это внимание.
 
Убрал одну - все стало О.К.
 
СПАСИБИЩЕ ОГРОМНОЕ!

Всего записей: 103 | Зарегистр. 27-04-2007 | Отправлено: 13:40 11-07-2022
newhk



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, привет!
Есть Ubuntu server 20.04
На нем крутиться Nginx, работает как reverse-proxy.
Есть несколько хостов, на которые он пересылает запросы, один из них 172.23.11.55 (почтарь с Roundcube)
На нем 3 домена:
1. mail.domain1.ru
2. mail.domain2.ru
3. mail.domain3.ru
 
Внутри сети, по Ip-адресу все работает нормально.
Для 2 и 3 проброс идет нормально, а 1 не хочет.
При попытке открыть данный адрес, пишет ошибку - 502 Bad Gateway
Не могу понять почему.
 
Конфиги:
Для домена 2:
Подробнее...
 
для домена 1:
Подробнее...
 
общие параметры прокси:

Код:
 
proxy_set_header Host $http_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;
proxy_buffers 32 4m;
proxy_busy_buffers_size 25m;
proxy_buffer_size 512k;
proxy_ignore_headers "Cache-Control" "Expires";
proxy_max_temp_file_size 0;
client_max_body_size 1024m;
client_body_buffer_size 4m;
proxy_connect_timeout 3600;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
proxy_intercept_errors off;
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 128;
 

 
Почему не работает domain1?
 
В логах по данному домену только строки типа:

Код:
[31/Oct/2022:11:49:12 +0300] "GET /favicon.ico HTTP/2.0" 502 166 "https://mail.domain1.ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0"
 

Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 12:06 31-10-2022 | Исправлено: newhk, 16:18 31-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
newhk

Цитата:
При попытке открыть данный адрес, пишет ошибку - 502 Bad Gateway

https внутри открывается? может там настроено так, чтобы ограничивать подключения.. блок лист какой, файерволл. сообщение говорит, что https://172.23.11.55 не отвечает.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 22:35 31-10-2022
newhk



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Внутри HTTPS не открывается, но по 443 открывается пересылаемые запросы для 2 и 3 доменов

Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 22:39 31-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
newhk

Цитата:
но по 443 открывается пересылаемые запросы для 2 и 3 доменов

по 443 на nginx? и оно перекидывается на 172.***? так на http внутри проброс или на https на этом IP?

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 22:40 31-10-2022
newhk



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще, мне тут в голову пришла мысль.
У меня вопрос.
В Винде, если компы имеют одинаковые имена, могут возникнуть проблемы. В Unix-подобных так же?
Я осознал, что обозвал шлюз и почтарь внутри сети одинаково.
Поправьте мен, если я не прав.
Когда я отправляю почту с почтаря внутри сети, то другим почтарям он представляется по своему имени и шлюз на это никак не влияет.
Когда внешний почтарь смотрит на PTR, то он видит мой шлюз и следовательно шлюз должен иметь имя PTR записи.
Правильно?

Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 22:54 31-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
newhk
при чем тут имена? еще раз
 
для домена 2 - proxy_pass http://172.23.11.55;
для домена 1 - proxy_pass https://172.23.11.55;
разница - в https протоколе. у вас точно на 172 что то слушает на 443 порту??

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 23:10 31-10-2022
newhk



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
у вас точно на 172 что то слушает на 443 порту??

Не уверен, я не настраивал NGINX на 443.
изменил на http и заработало. Блин, точно. Ни на 2 ни на 3 не было https.
Спасибо.

Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 23:16 31-10-2022
xzibit87

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как настроить связку nginx и webmin? Сейчас так пока nginx настроен:

Код:
 
server
{
    listen 80;
    listen [::]:80;
    server_name admin.home.loc;
 
    location /
    {
        proxy_pass http://127.0.0.1:10000/;
        proxy_redirect off;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
 

При таком конфиге работает все кроме терминала в Webmin. При попытке запустить терминал постоянно крутится надпись Connecting, и вылазит ошибка: "Error 502 - Bad Gateway - /stats.cgi?xhr-stats=general". Как это исправить можно?
Может есть у кого конфиг рабочий для nginx?

Всего записей: 30 | Зарегистр. 12-10-2008 | Отправлено: 16:37 14-01-2023 | Исправлено: xzibit87, 18:56 14-01-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Nginx


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru