Вопросы с тегами [nginx]

0

голосов
1

ответ
34

Просмотры

Настройка проекта Laravel для работы с несколькими доменными именами

Я успешно настроил несколько доменов, чтобы указать на мой проект Laravel 5.1 VirtualDocumentRoot "/ Users / Sites / проекта / общественность" ServerName app.com UseCanonicalName Off VirtualDocumentRoot "/ Users / Sites / проекта / общественность" ServerName app2.com UseCanonicalName Off VirtualDocumentRoot «/ Пользователи / Sites / проект / общественность»ServerName app3.com UseCanonicalName Off Когда я иду в app.com app2.com app3.com любой из них будет указывать на мой проект и загрузить экран входа в систему. Проблема Когда я войти в систему, независимо, когда я из, я постоянно перенаправлять мои пользователи app.com/dashboard Цель Моя цель состоит, любой запрос от app.com -> Вход -> перенаправления -> app.com / dashobard app2.com -> войти в -> перенаправления -> app2.com/dashobard app3.com -> войти в -> перенаправления -> app3.
kyo
1

голосов
2

ответ
92

Просмотры

Пассажир и rbenv вопрос - несовместимая версия библиотеки

В последнее время я переехал из РВМ в Rbenv. Я бегу кучу разных приложений рельсов (каждый из них имеет другую версию рубиновый) с пассажиром и Nginx. Тем не менее, я получаю сообщение об ошибке для двух приложений при попытке загрузить их: /user_folder/.rbenv/versions/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `требуется ': несовместимая версия библиотеки - /usr/local/Cellar/passenger/6.0.2_1/libexec/buildout/ruby/ruby-2.3.3-x86_64-macosx/passenger_native_support.bundle (со смертельным исходом) от /user_folder/.rbenv/versions/2.3. 3 / Библиотека / рубин / 2.3.0 / RubyGems / core_ext / kernel_require.rb: 55: в `требуют» от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb: 427: в `load_native_extension» из /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:103: в `load_from_buildout_dir 'из /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:39:in` try_load' от /usr/local/Cellar/passenger/6.0.2_1/ libexec / SRC / ruby_supportlib / phusion_passenger / native_support.rb: 50: в `начале 'из /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:443:in`' Другое приложения работают хорошо, и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:50:in `начать» от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ ruby_supportlib / phusion_passenger / native_support.rb: 443: в `» Другие приложения работают хорошо, и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ruby_supportlib/phusion_passenger/native_support.rb:50:in `начать» от /usr/local/Cellar/passenger/6.0.2_1/libexec/src/ ruby_supportlib / phusion_passenger / native_support.rb: 443: в `» Другие приложения работают хорошо, и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит? и те работы, когда я использую WEBrick (автономный) вместо этого. Но по какой-то причине, у меня есть проблемы, делая это с пассажиром. Я не уверен, является ли это совпадение или нет, но оба приложения у меня есть проблемы, с которыми работает рубиновый v2.3.3. Любая идея о том, что происходит?
Ariel Scherman
1

голосов
0

ответ
83

Просмотры

Перенаправление на определенный порт

У меня есть сервер, на котором веб-сервер работает на 1150 портов и других услуг на несколько других портов, как 1151, 1152 и т.д. Сейчас пользователь должен добавить порт в URL, чтобы получить доступ к веб-серверу. Я хочу, чтобы перенаправить: abc.example.com abc.example.com:1150 http://abc.example.com https://abc.example.com http://abc.example.com:1150 к: https: //abc.example.com:1150 Кроме того, я не хочу, чтобы перенаправить вызов другого порта (например, abc.example.com:1151) до 1150. Я использовал следующий код в моей / и т.д. / Nginx / сайты-доступные / ssl.conf файл: сервер {слушать 80; server_name abc.example.com; вернуться 301 https: // $ server_name $ REQUEST_URI; } Его перенаправление на страницу "400 Bad Request". Спецификация сервера: Ubuntu 16,04, Nginx.
Gaurav
1

голосов
1

ответ
2.3k

Просмотры

Мой сайт поврежденным Содержание Ошибка в Firefox при входе в систему

У меня есть сайт, который становится испорченной ошибкой содержимого при входе в учетную запись пользователя. Эта ошибка возникает в Firefox. Это происходит только тогда, когда вы входите в чистом кэше. После того, как вы войти один раз, вы получите эту ошибку, но вы получите пропустить мимо него. Затем, если вы выйдите из системы, и снова войти в систему снова, вы не получите эту проблему больше, пока вы не очистить историю. После очистки истории и все кеш и вернуться к месту, и повторного входа в систему, возникает та же ошибка. Я видел другое сообщение об ошибке на Microsoft Крае в том же сценариях, и в Chrome, но я не помню, что они говорили (я думаю, что края сказал, что сайт не может быть достигнут, и хром сказал что-то еще). Я смотрел вокруг и пытаемся выяснить, что происходит, черт возьми, и ищут решения для него, но я потерял. Я видел одну вещи в Интернете, который сказал, что это может быть решено путем очистки куки, но я не держу никакого печенья на этом сайте. И в моей ситуации - это свежая история или история клиринга, что приводит к проблеме, поэтому этот тип решения, кажется, противоположность моей ситуации. Я не знаю, если это мой сертификат SSL. То, что я купил у Namecheap. Я не знаю, если это что-то делать с моим файлом Nginx. В там я заставляю все НТТР перенаправлен на HTTPS. Я не знаю, если это что-то делать с самим моим кодом. Мой код сервера кодируется в CakePHP 2. Любые идеи? Мне действительно нужно, чтобы исправить это. Я пытаюсь запустить этот сайт в ближайшее время. Вот мой Nginx код: сервер {слушать 80; слушать [::]: 80; server_name my_server_name.com; вернуться 301 https: // $ server_name / веб / $ REQUEST_URI /; } {Сервер слушать 443 SSL http2 default_server; слушать [::]: 443 http2 default_server SSL ipv6only = вкл; корень / USR / доли / Nginx / html; Индекс index.html index.htm index.php; SSL на; ssl_certificate /path_to_ssl/cert_chain.crt; ssl_certificate_key /path_to_ssl/my_server_name.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers на; ssl_dhparam /path_to_ssl_certs/dhparam.pem; ssl_ciphers «ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM-SHA384: DHE-RSA-AES128-GCM- SHA256: ДНЕ-DSS-AES128-GCM-SHA256: kEDH + AESGCM: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA: ECDHE-ECDSA-AES128-SHA: ECDHE- RSA-AES256-SHA384: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA: ECDHE-ECDSA-AES256-SHA: DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA: ДНЕ-DSS- AES128-SHA256: DHE-RSA-AES256-SHA256: DHE-DSS-AES256-SHA: DHE-RSA-AES256-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: AES: КАМЕЛИЯ: DES- CBC3-ША! aNULL: eNULL: ЭКСПОРТ: DES: RC4: MD5: PSK: aECDH: EDH-DSS-DES-CBC3-ША! EDH-RSA-DES-CBC3-ША: ! krb5-DES-CBC3-ША '; ssl_session_timeout 1d; ssl_session_cache общий: SSL: 50м; ssl_stapling на; ssl_stapling_verify на; add_header Strict-Transport-Security макс возраста = 15768000; add_header Strict-Transport-Security "Макс-возраст = 31536000; IncludeSubdomains"; местоположение / веб-{псевдоним / USR / доли / Nginx / HTML / веб / приложение / Webroot; try_files $ $ URI URI / /web/app/webroot/index.php; } Имя_серв my_server_name.com; местоположение = / {вернуть 301 https: // $ server_name / веб / $ REQUEST_URI /; } Местоположение / {# Первая попытка служить запрос в виде файла, затем # в каталоге, а затем падают обратно отображающего 404. try_files $ $ URI URI / = 404; # Раскоментируйте, чтобы позволить naxsi на этом месте # включают /etc/nginx/naxsi.rules} error_page 404 /404.html; error_page 500 502 503 504 /50x.html; Местонахождение = /50x.html {корень / USR / доли / Nginx / HTML; } Место ~ \ .php $ {try_files $ = 404 URI; fastcgi_split_path_info ^ (+ \ PHP.). (/.+) $; fastcgi_pass Unix: /var/run/php/php7.0-fpm.sock; fastcgi_index index.php; включают в себя fastcgi.conf; #include fastcgi_params; #fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; } Расположение ~ /.well-known {разрешить все; } Расположение ~ /.sandbox {} местоположение ~ * \ (?: манифеста: AppCache | HTM | XML | JSON). $ {Истекает -1; } Обновление: Я нашел еще один ключ к этой проблеме, но не смог это исправить. В моем debug.log я обнаружил, что я получаю эту ошибку каждый раз, когда «Поврежденный Content Error» произошел, и без какого-либо другого времени. Это ошибка в CakePHP AuthComponent: 2017-12-31 9:07:28 Примечание: Уведомление (8): Не определено индекс: элемент [/ USR / доли / Nginx / HTML / веб / приложение / контроллер / компонент / AuthComponent .php, строка 827] Трассировка: ErrorHandler :: HandleError () - ОСНОВНОЙ / торт / Ошибка / ErrorHandler.php, строка 230 AuthComponent :: вспышка () - APP / контроллер / компонент / AuthComponent.php, строка 827 AuthComponent :: _ неаутентифицированное () - APP / Controller / Компонент / AuthComponent.php, строка 362 AuthComponent :: запуска () - APP / Controller / Компонент / AuthComponent.php, линия 304 ObjectCollection :: триггер () - CORE / Cake / Утилиты / ObjectCollection.php , линия 128 CakeEventManager :: отправка () - CORE / Cake / Событие / CakeEventManager.php, строка 243 Controller :: startupProcess () - CORE / Cake / Controller / Controller.php, строка 678 грузоотправитель :: _ Invoke () - CORE / Cake / Routing / грузоотправитель. PHP, строка 189 грузоотправитель :: отправка () - CORE / Cake / Routing / Dispatcher.php, строка 167 требуется - APP / Webroot / index.php, строка 110 [главная] - ROOT / index.php, строка 43 говорит что $ this-> вспышка не имеет 'элемент' индекса для этой строки: $ this-> session-> setFlash ($ сообщение, $ this-> вспышки [ 'элемент'], $ this-> флэш [ 'PARAMS'], $ this-> вспышки [ 'ключ']); Я заметил, что линия и заменить его следующим образом: $ this-> session-> setFlash ($ сообщение, array_key_exists ( 'элемент', $ this-> вспышка) $ this-> вспышки [ 'элемент']: 'по умолчанию' , array_key_exists (» Титулы, $ this-> вспышка)? $ This-> Флэш [ 'PARAMS']: Array (), array_key_exists ( 'ключ', $ this-> флэш)? $ This-> вспышки [ 'ключ']: 'вспышка'); чтобы увидеть, что если бы это исправить. Я до сих пор нахожусь в состоянии получить ошибку поврежденную контента, если я вхожу, очистить весь кэш, перезагрузить все и снова войти в систему, но теперь нет новой ошибки регистрируется в debug.log после внесения этих изменений. Так что мой ключ, но я до сих пор не удалось это исправить. Обновление: Мой запрос & Response Headers Здесь вы Запрос & Response Headers, что светлячок показывает мне, когда я получаю эту ошибку. Заголовок запроса: Принять текст / HTML, приложение / XHTML + хт ... складка / XML; Q = 0,9, * / *, Q = 0.8 Accept-Encoding GZIP, выкачать, уш Accept-Language EN-US, ан; д = 0. 5 Подключение поддержания активности Content-Length 89 Content-Type применение / х-WWW-форм-urlencoded Печенье __cfduid = dc953b88930da52f0ae3f ... 9-3f87-477c-b65e-380b2034aa54 Хост my_website_url Referer https://my_website_url.com/web/users/ Войти Upgrade-Незащищенные-запросы 1 User-Agent Mozilla / 5.0 (X11; Ubuntu; Linu ...) Gecko / 20100101 Firefox / 57.0 И ответ: сравните-лучи: 3d76d2695c6655c4-ORD типа содержимого текст / html; кодировка = UTF-8 Дата Ср, 3 января 2018 14:59:26 GMT место /// сервер CloudFlare Set-Cookie CakePHP = le4cq2kpkvjqvt5lvcqel8 ... 400; Путь = /; обеспечения; HttpOnly строгой транспортно-безопасность максимальный возраст = 15768000 X-Firefox-SPDY h2 ком / веб / пользователей / входа в систему Обновление-Незащищенные-запросы 1 User-Agent Mozilla / 5.0 (X11; Ubuntu; Linu ...) Gecko / 20100101 Firefox / 57.0 И ответ: сравни-лучей: 3d76d2695c6655c4-ORD тип содержимого текста / html; кодировка = UTF-8 Дата Ср, 3 января 2018 14:59:26 GMT место /// сервер CloudFlare Set-Cookie CakePHP = le4cq2kpkvjqvt5lvcqel8 ... 400; Путь = /; обеспечения; HttpOnly строгой транспортно-безопасность максимальный возраст = 15768000 X-Firefox-SPDY h2 ком / веб / пользователей / входа в систему Обновление-Незащищенные-запросы 1 User-Agent Mozilla / 5.0 (X11; Ubuntu; Linu ...) Gecko / 20100101 Firefox / 57.0 И ответ: сравни-лучей: 3d76d2695c6655c4-ORD тип содержимого текста / html; кодировка = UTF-8 Дата Ср, 3 января 2018 14:59:26 GMT место /// сервер CloudFlare Set-Cookie CakePHP = le4cq2kpkvjqvt5lvcqel8 ... 400; Путь = /; обеспечения; HttpOnly строгой транспортно-безопасность максимальный возраст = 15768000 X-Firefox-SPDY h2
user904542
1

голосов
1

ответ
507

Просмотры

NGINX против Apache? Что выбрать при развертывании реагировать

Я новичок в reactjs. Я создал основную реакцию приложения с помощью создания реагирующего-приложение шаблонного. Я подготовил сборку, выполнив команду сборки НПМ запуска. Теперь я хочу, чтобы разместить папку сборки. Что лучше и почему. Пожалуйста, дайте мне знать, если лучше и легкий вариант доступен как я новичок в этом.
DadyByte
1

голосов
0

ответ
86

Просмотры

Перенаправление портов из Докер-XXX создания письма: 443

У меня есть питон + uwsgi + Nginx приложение. Я могу запустить это приложение через этот докер-Compose файла: версия: «3.4» услуги: бэкенд: перезагрузка: всегда изображение: бэкенд: 0,1 depends_on: - дБ разоблачить: - 5001 томов: - share_vol_lab: / Главная / убунту / данные интерфейс: перезагрузка: всегда изображения: интерфейс: 1.1 depends_on: - порты серверные: - 443: 443 дБ: перезагрузка: всегда изображения: Postgres: 1.1 среда: выставить: - 5432 томов: - data_lab: Lib тома / VAR / / PostgreSQL / данных : data_lab: {} share_vol_lab: {} Все работает, как принято, что означает, что я могу получить доступ к приложению в URL: https: // хост-IP / логин Я хотел бы запустить мое приложение еще несколько раз на том же принимающий выступать в качестве различных сред. Я скопировал мой докер-Compose файл в другую папку, изменил внешний интерфейс порта от 443: 443 до 444: 443 для предотвращения порта числа конфликтов, в браузере: https: // хост-IP: 444 / логина и первую страницу (статический HTML) действительно успешно загружен. Когда я пытаюсь войти, запрос должен быть обратный прокси-сервер для службы бэкэнда от Nginx, но никакого ответа на все. вот Nginx конф: сервер {слушать 80; кодировка UTF-8; Местонахождение / {перепишет ^ https: // $ хоста $ REQUEST_URI? постоянный; }} {Сервер слушать 443 SSL; error_page 497 301 = 307 https: // $ хоста / логин; корень / USR / доли / Nginx / html; кодировка UTF-8; место ~ ^ / (скрипты * JS | стили | изображения.) {gzip_static на; истекает 1y; общественного add_header Cache-Control; add_header ETag ""; перерыв; } Местоположение / {try_files $ /index.html URI; } Местоположение / API / v1 {включают uwsgi_params; uwsgi_pass бэкенд: 5001; uwsgi_read_timeout 60-х годов; uwsgi_send_timeout 60-х годов; uwsgi_connect_timeout 60-х годов; }} И мой uwsgi.ini: [uwsgi] модуль = app.api: приложение процессы = 5 мастера = истинный сокет =: 5001 протокола = uwsgi ленивого-приложение = верно харакири = 30 хотело бы получить помощь от вас, ребят, спасибо !
ido
1

голосов
2

ответ
176

Просмотры

Запуск двух nodejs экземпляров через Nginx

Я могу получить один экземпляров Node вместо двух. Я не знаю, почему мой второй узел не работает в первую очередь хотел бы сказать, что я сделал. Скачать Nginx на диске С. Папка содержит conf-> в этой папке есть файл конфигурации, т.е. nginx.conf Теперь я хочу запустить два экземпляра узла через Nginx. То, что я сделал на nginx.conf файл не является: #user никто; worker_processes 1; #error_log журналы / error.log; #error_log журналы / error.log уведомление; #error_log журналы / error.log информация; #pid журналы / nginx.pid; события {worker_connections 1024; } HTTP {включают mime.types; Применение default_type / октет-поток; #log_format основной '$ remote_addr - $ REMOTE_USER [$ time_local] "$ запрос"' # '$ статус $ body_bytes_sent "$ HTTP_REFERER"' # «» proxy_set_header Connection 'Обновление'; proxy_set_header хоста $ хоста; proxy_cache_bypass $ http_upgrade; }} # Другой виртуальный хост, используя сочетание IP-, Name-, и на основе портов конфигурации # #server {# слушать 8000; # Слушать SomeName: 8080; # server_name SomeName псевдоним another.alias; # Местоположение / {# корень HTML; # Индекс index.html index.htm; #} #} # HTTPS сервер # #server {# слушать 443 SSL; # Server_name локальный; # Ssl_certificate cert.pem; # Ssl_certificate_key cert.key; # Ssl_session_cache общий: SSL: 1м; # Ssl_session_timeout 5м; # ssl_ciphers HIGH: aNULL:! MD5; # ssl_prefer_server_ciphers на; # Местоположение / {# корень HTML; # Индекс index.html index.htm; #} #}} Таким образом, мой первый экземпляр Node работает на расслоение плотной http://127.0.0.1:3000 в то время как другой находится на http://127.0.0.1:3001 порту. Это мой первый раз я использую Nginx с экземплярами узла. Любая помощь приветствуется.
Abhay
1

голосов
0

ответ
345

Просмотры

nginx reverse proxy params docker

when doing a post to let url = '/api/registerCoin' it works. nginx forwards this to server:3000, which is good! When I try the post to /api/updatePost with params nginx doesn't seem to point to the server. I am getting: /api/findPostData Failed to load resource: the server responded with a status of 404 (Not Found) in the browser. Is that due to the params being added to the url? I am having the same issue making a post to: POST https://v2.steemconnect.com/api/broadcast 500 () this seems not to route via server. even though: https://v2.steemconnect.com/oauth2/authorize?client_id=cr for oauth authentication does work from the same component. This leads me to believe that I am doing something wrong with the nginx conf. var dilta = this.quill.getContents(); let url = '/api/updatePost'; const params = new HttpParams().set('permlink', permlink); return this.http.post(url ,dilta,{ params }) worker_processes 2 ; events { worker_connections 1024; } http { upstream my-server { server myserver:3000; } upstream client { server client:4200; } server { listen 80; location / { proxy_pass http://client; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } location ^~ /api/* { proxy_pass http://my-server; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } } }
oudekaas
1

голосов
1

ответ
1.6k

Просмотры

NGINX downloads PHP file instead of showing

Я пытаюсь показать index.php и info.php на моем веб-сервер Nginx, но я не могу заставить его работать по какой-то причине, мой браузер продолжает загрузку файлов вместо отображения их. Я пробовал много учебники, но я не знаю, что случилось. ОС: Ubuntu 17.10 Server версии PHP 7.1 cgi.fix_pathinfo установлен в 0 www.conf файла по умолчанию, кроме сервера де cgi.fix_pathinfo {слушать 80 default_server; слушать [::]: 80 default_server; корень / вар / WWW / HTML; # Добавить index.php в список, если вы используете PHP индекса index.php index.html index.htm index.nginx-debian.html; server_name nginx1.domain.com; Местонахождение / {try_files $ $ URI URI / = 404; } Место ~ \ .php $ {try_files $ $ URI URI / = 404; fastcgi_split_path_info ^ (+ \ PHP.). (/.+) $; # # Примечание: Вы должны иметь "cgi.fix_pathinfo = 0;" в php.ini # # # С только php5-CGI: fastcgi_pass 127.0.0.1:9000; # # С php5-FPM: fastcgi_pass UNIX: /var/run/php/php7.1-fpm.sock; fastcgi_index index.php; включают в себя fastcgi_params; } #Location ~ /\.ht {# все отрицают; #}} Может кто-то пожалуйста, помогите мне?
janvandeanker
1

голосов
0

ответ
78

Просмотры

NGINX переписывают публике с /

Пробовал поиск, но не нашел решения пока. Я пытаюсь получить следующий URL работает Приятные URLs .. URL.com/public/index.php?url=admin/loginform в URL.com/admin/loginform я попытался установить корневую папку и папку ~ ^ / общественности / директива, но не может заставить его работать. Местонахождение / {корень /srv/URL.com/public/ try_files $ $ URI URI / .php $ URI / /index.php?url=$args; } Я пытаюсь передать из .htaccess в Nginx .. Корневая папка: RewriteEngine на RewriteRule ^ $ государственных / [L] RewriteRule публичный / $ 1 [L] Тогда общественное (*.): RewriteEngine On RewriteCond% {REQUEST_FILENAME} -f! RewriteCond% {REQUEST_FILENAME}! -d RewriteRule ^ (. *) $ index.php? URL = $ 1 [PT, L] Есть ли кто-нибудь знает, как отобразить его правильно? Спасибо
Pjelp
1

голосов
0

ответ
345

Просмотры

Проблема настройки Nginx с модулем кукольный / Nginx с помощью Hiera

~ \ .Php $ 'www_root: '/ вар / WWW / $ FQDN' Сервер: 'DevOps-alldomains-SSL' FastCGI: 'UNIX: /var/run/php7-fpm.sock' fastcgi_split_path:'. ^ (+ \ .php) (/.*) $»fastcgi_index: 'index.php' fastcgi_param: 'SCRIPT_FILENAME': '$ document_root $ fastcgi_script_name' НО, когда он генерирует два конфиги Nginx (DevOps-alldomains.conf и DevOps-alldomains-ssl.conf ), то SSL один не как ожидалось: местоположение / {корень / вар / WWW / $ FQDN; Индекс index.php; try_files $ $ URI URI / /index.php?$args; } Место ~ \ .php $ {корень / вар / WWW / $ FQDN; включают в себя / и т.д. / Nginx / fastcgi_params; fastcgi_pass Unix: /var/run/php7-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^ (+ \ PHP.). (/.*) $; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; } # Управляется КУКОЛ сервера {слушать *: 443 SSL; server_name ~ ^ $ (+?.?); SSL на; ssl_certificate /etc/ssl/www/$fqdn.crt; ssl_certificate_key /etc/ssl/www/$fqdn.key; ssl_session_cache общий: SSL: 10m; ssl_session_timeout 5м; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA -AES256-GCM-SHA384: DHE- RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA-AES128-SHA : ECDHE-RSA-AES256-SHA384: ECDHE-RSA-AES128-SHA: ECDHE-ECDSA-AES256-SHA384: ECDHE-ECDSA- AES256-SHA: ECDHE-RSA-AES256-SHA: DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA: DHE-RSA-AES256-SHA256: DHE-RSA-AES256-SHA: ECDHE-ECDSA-DES-CBC3-ША: ECDHE-RSA-DES-CBC3-ША: EDH-RSA-DES-CBC3-ША: AES128-GCM-SHA256: AES256- GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: DES- CBC3-ША: DSS;! ssl_prefer_server_ciphers на; Индекс index.php; access_log /var/log/nginx/devops-alldomains-access-ssl.log в сочетании; error_log /var/log/nginx/devops-alldomains-error-ssl.log; Местонахождение / {корень / вар / WWW / $ FQDN; Индекс index.php; try_files $ $ URI URI / /index.php?$args; }} Так как вы можете видеть, директивы местоположения находятся за пределами директивы сервера, поэтому Nginx никогда не запустится. Кто-нибудь идея, что может быть не так? Я даже попытался упростить эту конфигурацию, чтобы использовать только основные директивы (даже без SSL и PHP), но результат был совсем то же самое. Большое спасибо за вашу помощь. UPDATE: Похоже, мне удалось решить проблему с вашей помощью, ребята;) Это текущая конфигурация: Nginx :: nginx_servers: 'DevOps-alldomains': SERVER_NAME: - '~ ^ (+) $?.? Www_root:' / вар / WWW / $ Fqdn 'index_files: - 'index.php' try_files: - '$ URI' - '$ URI /' - '' access_log:' /index.php?$args / вар / Журнал / Nginx / DevOps -alldomains-access.log»error_log: '/var/log/nginx/devops-alldomains-error.log' 'DevOps-alldomains-SSL': server_name: fastcgi_split_path: '^ (.. + \ PHP) (/.*) $' fastcgi_index: 'index.php' fastcgi_param: 'SCRIPT_FILENAME': '$ document_root $ fastcgi_script_name' 'DevOps-alldomains-SSL-ЛОК': Расположение: ' ~ \ .php $»www_root: '/ вар / WWW / $ FQDN' сервер: 'DevOps-alldomains-SSL' SSL: истинный ssl_only: истинный FastCGI: 'Юникс: /var/run/php7-fpm.sock' fastcgi_split_path: '^ (+ \ PHP.). (/.*) $' fastcgi_index: 'index.php' fastcgi_param: 'SCRIPT_FILENAME': '$ document_root $ fastcgi_script_name' Теперь у меня есть два разделенных Nginx файлы конфигурации - один для не-SSL, второй для SSL. Первая проблема заключалась в том, что мне не хватало SSL: правда и ssl_only: истинна при соответствующем месте (DevOps-alldomains-SSL-LOC), второй в том, что я должен был установить как listen_port: «443» и ssl_port: «443» в соответствии с директивой сервера. Я также изменил название мест, но это, похоже, не делать какие-либо проблемы (или что-то разрешение). Чтобы сделать это полное, вот версии инструментов, используемых: Кукольный: 4.10.9 Hiera: 3.3.2 Nginx: 1.12.2-1 ~ кукольный дружественный / Nginx (подделать модуль): 0.9.0 Спасибо за вашу помощь. Я очень ценю это! 2-1 ~ кукольный дружественный / Nginx (подделать модуль): 0.9.0 Спасибо за вашу помощь. Я очень ценю это! 2-1 ~ кукольный дружественный / Nginx (подделать модуль): 0.9.0 Спасибо за вашу помощь. Я очень ценю это!
patok
1

голосов
0

ответ
102

Просмотры

нечастые 504s на Nginx, когда проксировании к узлу / экспресс-приложение

Мы имеем типичный Nginx + nodejs установки с приложением службы узла v4.2.2 и Nginx v1.9.7.2 Backend работает на экспрессе / nodejs развертывается в кластерном режиме с использованием модуля recluster с дочерними процессами (равный #cores) раздвоенный, что прослушивание же порт. Nginx используется в качестве обратного прокси-сервера для внутреннего интерфейса. Каждый такой случай / коробка (4 ядра 8 ГБ) Nginx + nodejs обслуживает около 100 ТФС при нагрузке с 90-й процентиль задержки около 120 мс. Проблема заключается в том, что мы получаем нечастые (1-2 раза каждые 5 мин) 504s на журнале доступа Nginx и связанный журнал ошибок шоу (110: Тайм-аут соединения) при подключении к входу Как я понимаю, это произойдет, когда Nginx timedout установления соединения с nodejs сервера, но все матрицы показывают nodejs здорово. Кроме того, все запросы ниже и выше этой ошибки имеют нормальное время задержки и только один запрос от застревает. Там нет соответствующей записи в журнал на сервере nodejs означает запрос не достиг сервера узла. Соответствующие Nginx конфигурации ниже. worker_processes авто; worker_rlimit_nofile 40000; события {worker_connections 2000; использовать Epoll; } {HTTP SendFile на; tcp_nopush на; tcp_nodelay на; keepalive_timeout 60; } Перед узлом {Сервер 127.0.0.1:3000; KeepAlive 256; } {Сервер слушать 80; server_name abc.com proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_read_timeout 60; Местонахождение / {proxy_pass HTTP: // узел; }} Вывод на сс -s является Итого: 747 (ядро 0) TCP: 7400 (Estab 481, закрыто 6890, осиротел 0, synrecv 0, timewait 6890/0), порты 0 Это показывает высокий timewait розетки, но мы не» т увидеть ошибки в системном журнале средство ограничение операционной системы не достигнуты. Я попытался настройки сети и Nginx в первую очередь принимая ключи от блоге не повезло. Нужна помощь в форуме, чтобы получить правильное направление для отладки этого. Дайте мне знать, что больше информации я могу предоставить.
khallas
1

голосов
1

ответ
371

Просмотры

Замена с новым адресом и значением HTTP Header с NGINX

Наше приложение Angular5-кли будут обслуживаться с веб-сервера непосредственно не доступной для пользователей. Вместо этого, они должны обращаться к нему через шлюз безопасности / обратный прокси-сервер, используемый для аутентификации пользователей. Таким образом, пользователи посещают либо: HTTP: // прокси / приложение / INT (для входа в систему с использованием компании внутреннего пользователя) HTTP: // прокси / приложение / вн (для входа в систему с внешним пользователем) Таким образом, прокси потребует пользователей для входа в систему, а затем обратный прокси для нашего приложения сервера HTTP: // AppSrv / приложение Проблема: с, все включает и ссылки теперь будет указывать на: HTTP: // / прокси, например, HTTP: //proxy/bundle.js, который не является правильным, так как оно должно быть HTTP: // прокси / приложение / (интермедиат | внутр) /bundle.js, в зависимости от вошли ли они в через / INT или / доб. Это INT или внутр передается в качестве HTTP-заголовке веб-сервер. Единственный способ, которым я вижу, чтобы решить эту проблему, чтобы заменить с, если заголовок HTTP == INT, или если заголовок HTTP == внутр Есть ли другое решение? Может ли это быть даже сделано с Nginx?
user66875
1

голосов
0

ответ
19

Просмотры

nginix не прослушивает порт 80

Почему ngnix не слушает порт 80? Я хочу ngnix направить весь трафик из порта 80 на порт локального хоста: 3000. Я хочу, чтобы остановить прямой прямой доступ к порту 3000 в то же время и гарантирует, что только порт 80 трафик разрешен. Мое приложение основано на сервере nuxt.js {слушать 80; server_name www.ec2-35-154-54-186.ap-south-1.compute.amazonaws.com; Местонахождение / {proxy_set_header X-Forwarded-за $ remote_addr; proxy_set_header хоста $ HTTP_HOST; proxy_pass "HTTP: // локальный: 3000"; }}
J.Doe
1

голосов
2

ответ
215

Просмотры

Nginx Phusion Пассажир: «passenger_log_file» Директива не допускается

Я в настоящее время работает: Nginx / 1.12.2 с Phusion Пассажира 5.1.12. Всякий раз, когда я пытаюсь использовать «passenger_log_file», «passenger_default_user» или «passenger_default_group» Я получаю следующее сообщение об ошибке. Nginx: [Экстрен] директива «passenger_log_file» не допускается здесь, в / и т.д. / Nginx / сайты с поддержкой / тест: 11 Мои сайты с поддержкой файла выглядит следующим образом: сервер {слушать 80; server_name example.com; корень / дома / испытания / апи; passenger_app_root / дома / тест / API / расстояние; passenger_enabled на; passenger_app_type узел; passenger_startup_file app.js; passenger_log_file /var/log/test/access.log; } Если я удалить passenger_log_file все работает прекрасно. Что я здесь отсутствует?
Sebastian Borgstedt
1

голосов
0

ответ
209

Просмотры

Сервер идентификации 4 на тот же URL, как MVC клиент

Можно ли запустить Сервер идентификации 4 на том же URL, как клиент MVC, в том же хосте с помощью Nginx? Например Сервер идентификации будет работать на локальный хост / ID / и Mvc клиента на локальном хосте / апите В MVC клиента есть порт 5000. Я могу легко изменить это HTTP: // локального / идентификатор services.AddAuthentication (опции => {options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "РСИН";}) .AddCookie ( "Cookies") .AddOpenIdConnect ( "РСИН", опции => {options.SignInScheme = "Cookies"; options.Authority = «HTTP: // локальный: 5000" ; //
ferdinand
1

голосов
1

ответ
24

Просмотры

В Nginx, я могу иметь TLSv1 / 1.1 / 1.2 для хостов в локальной сети, но только TLSv1.1 / 1,2 для всех остальных?

У меня есть сервер, который я хочу иметь TLSv1 отключена для всех соединительных хостов, за исключением тех, в локальной сети. В настоящее время мой Nginx конф выглядит следующим образом: сервер {слушать *: 443 default_server SSL; server_name myhostname; ... ssl_protocols TLSv1.1 TLSv1.2; ...} {сервер слушать *: 443 default_server SSL; server_name myhostname; ... ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ... расположение / {позволяют 10.0.0.0/8; все отрицают; ...}} Я хочу, чтобы разрешить только 10.0.0.0/8 хосты использовать TLSv1, но эта конфигурация дает мне предупреждение, что есть дубликат с myhostname на порт 443. Я проверяю это с OpenSSL s_client -connect myhostname.com : 443 -tls1 и, кажется, не как он работает. Спасибо!
Samson Chung
1

голосов
0

ответ
133

Просмотры

Rails + MongoDB: Still getting Nginx 413 Request Entity Too Large

I'm using Ruby on Rails with MongoDB (Mongoid). As I read in many question/answers, I added client_max_body_size 15M to my nginx.conf file and restarted my nginx. I also tried somethings like 15m or 4g based on some answers but still I get the error. Here is my nginx.conf content: user pil; #www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { client_max_body_size 30M; ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 465; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Phusion Passenger config ## # Uncomment it if you installed passenger or passenger-enterprise ## include /etc/nginx/passenger.conf; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #} I've deployed my app on my own server. Any help would be appreciated. Thank you in advance!
Aboozar Rajabi
1

голосов
1

ответ
107

Просмотры

NGINX Plus контейнер бросает ошибку как nginxplus исполняемый файл не найден

ком / nginxinc / kubernetes-вход / BLOB / Master / установки / развертывание / Nginx-плюс-ingress.yaml Pod Бревно обновление: Это то, что я получаю, когда я пытаюсь получить журналы стручка. $ Kubectl прибудете стручки -n Nginx-Ingress ИМЯ ГОТОВНОСТИ RESTARTS AGE Nginx-вход-744f8c7d8-mtx5c 0/1 CrashLoopBackOff 39 2h журналы $ kubectl Nginx-вход-744f8c7d8-mtx5c -n Nginx-Ingress не удалось открыть файл журнала «/ вар /log/pods/e6ed4c91-0fb7-11e8-b1bc-0a58ac1f1223/nginxplus_39.log ": открытый /var/log/pods/e6ed4c91-0fb7-11e8-b1bc-0a58ac1f1223/nginxplus_39.log: нет такого файла или каталога Пожалуйста, помогите! !
Anil Kumar P
1

голосов
1

ответ
73

Просмотры

Нужна помощь фиксируя мой Nginx сервер

Моя консоль выглядит следующим образом Это мой Nginx установка CORS add_header 'Access-Control-Allow-Origin' 'http://beloveddais.com'; add_header 'Access-Control-Allow_Credentials' 'истинный'; add_header 'Access-Control-Allow-Headers' «Authorization, Accept, Origin, DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type , Content-Range, Range '; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE, заплата'; Местонахождение / {# Первая попытка служить запрос в виде файла, а затем # в каталоге, а затем падают обратно отображающего 404. #try_files $ $ URI URI / = 404; если ($ REQUEST_METHOD = 'OPTIONS') {add_header 'Access-Control-Allow-Origin' 'http://beloveddais.com'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE, заплата'; add_header 'Access-Control-Allow-Headers' «Authorization, Accept, Origin, DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type , Content-Range, Range '; add_header 'Access-Control-Allow_Credentials' 'истинный'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'текст / обычная кодировка = UTF-8'; add_header 'Content-Length' 0; вернуться 204; } Proxy_redirect выключен; proxy_pass HTTP: // локальный: 5000; proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection 'Обновление'; proxy_set_header хоста $ хоста; proxy_cache_bypass $ http_upgrade; } Мой сервер узел выглядит следующим образом Var allowCrossDomain = функция (Req, Рез, следующий) {если ( 'GET' == req.method) {res.header ( 'Access-Control-Allow-Origin', «HTTP: // beloveddais.com '); res.header ( 'Access-Control-Allow-метода', 'GET, PUT, POST, DELETE, пластырь, OPTIONS'); res.header ( 'Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-С'); } Если ( 'POST' == req.method) {res.header ( 'Access-Control-Allow-Origin', 'http://beloveddais.com'); res.header ( 'Access-Control-Allow-метода', 'GET, PUT, POST, DELETE, пластырь, OPTIONS'); res.header (» Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); } Если ( 'Options' == req.method) {res.header ( 'Access-Control-Allow-Origin', 'http://beloveddias.com'); res.header ( 'Access-Control-Allow-метода', 'GET, PUT, POST, DELETE, пластырь, OPTIONS'); res.header ( 'Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-С'); res.sendStatus (200); } следующий(); На моем браузере консоли я получаю несколько заголовков, только один принимается. Как это исправить? Я действительно нужен кто-то, чтобы помочь мне. ком '); res.header ( 'Access-Control-Allow-метода', 'GET, PUT, POST, DELETE, пластырь, OPTIONS'); res.header ( 'Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-С'); res.sendStatus (200); } следующий(); На моем браузере консоли я получаю несколько заголовков, только один принимается. Как это исправить? Я действительно нужен кто-то, чтобы помочь мне. ком '); res.header ( 'Access-Control-Allow-метода', 'GET, PUT, POST, DELETE, пластырь, OPTIONS'); res.header ( 'Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-С'); res.sendStatus (200); } следующий(); На моем браузере консоли я получаю несколько заголовков, только один принимается. Как это исправить? Я действительно нужен кто-то, чтобы помочь мне.
Olatunji Odelade
1

голосов
0

ответ
90

Просмотры

как написать динамический маршрут в Nginx расположения прокси-конфигурации

например, я хочу, чтобы кто попадает локальный / апи быть перенаправлены на прокси 127.0.0.1/api и все, что после того, как, к примеру, если я LOCALHOST / API / getMyName, то конфиг перенаправить его на 127.0.0.1/api/getMyName , или если кто-то попадает локальный / API / getSomeone / 1, он будет полномочен 127.0.0.1/api/getSomeone/1 я пытался что-то подобное местоположение / апи {proxy_pass http://127.0.0.1/api; } Но Nginx просто не реагирует на или, и добавление / * или * после того, как они просто не делают работу ... что она должна действительно быть написано, чтобы соответствовать сценарию я хочу выше?
Ezeewei
1

голосов
0

ответ
134

Просмотры

Обслуживание MP3 с Nginx и PHP

Я пытаюсь служить MP3-файлы с PHP на сервере, который находится на Nginx. Проблема заключается в том, когда я служу файлы с помощью PHP mp3 начинает играть после того, как 1 или 2 МБ файлов были загружены, но если я воспроизвести тот же mp3 без PHP он начнет играть сразу. Я попытался добавить заголовок X-Accel-Redirect в Nginx, но это не помогло.
saeed golreyhan
1

голосов
0

ответ
168

Просмотры

Колба BackgroundScheduler работает в нескольких рабочих

У меня есть следующий код ИНТЕРВАЛ = 30 # в секундах планировщик = BackgroundScheduler (исполнители = { 'по умолчанию': ThreadPoolExecutor (1)}) scheduler.start () scheduler.add_job (FUNC = import_from_folder, триггер = IntervalTrigger (секунды = ИНТЕРВАЛ), ID = «importer_job», имя = «Импортер», replace_existing = True) # Выключить планировщик при выходе из приложения atexit.register (лямбда: scheduler.shutdown ()) Мое приложение имеет 4 рабочих, что делает выше планировщика запустить 4 раз. Есть ли способ, чтобы заставить планировщик для запуска только в 1 работник ?? или проверить, если планировщик идентификатор уже подножка в другой работник?
user3091405
1

голосов
1

ответ
77

Просмотры

How to appropriately reverse-proxy nodejs subroutes?

Я новичок в nodejs и Nginx, а также. Так что я пытаюсь сделать, это обратный прокси-узел в Nginx. Я могу сделать это, но мои последующие маршруты из nodejs не получают реверсивный проксированном. app.get ( '/', (REQ, разреш) => {res.render ( 'индекс');}); app.post ( '/ загрузки', (REQ, разреш) => {загрузка (REQ, разреш, (ERR) => {console.log (req.file); res.render ( 'индекс', {тзд: ' файл загружен», файл:` загрузки / $ {req.file.filename} `});});}); Так вот основной код. «/» Имеет индексную страницу с кнопкой. А при нажатии на кнопку она переходит к «/» загрузки. Она работает без обратного прокси-сервера. Мой обратный прокси-сервер сконфигурирован, как показано ниже. Местонахождение / nodeAdmin / {proxy_set_header хост $ хост; proxy_set_header X-Real-IP $ remote_addr; proxy_redirect выкл; proxy_buffering выкл; proxy_pass http://127.0.0.1:8080/; proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection 'Обновление'; proxy_cache_bypass $ http_upgrade; } Так что теперь, когда я иду в mydomain.com/nodeAdmin я вижу «индекс». Но когда я нажимаю на кнопку загрузки, мне нужно, чтобы перейти к / загрузки в nodejs приложение, но он идет в mydomain.com/upload, не существует. Было бы здорово, если бы кто-то может направить меня в правильном направлении. Но когда я нажимаю на кнопку загрузки, мне нужно, чтобы перейти к / загрузки в nodejs приложение, но он идет в mydomain.com/upload, не существует. Было бы здорово, если бы кто-то может направить меня в правильном направлении. Но когда я нажимаю на кнопку загрузки, мне нужно, чтобы перейти к / загрузки в nodejs приложение, но он идет в mydomain.com/upload, не существует. Было бы здорово, если бы кто-то может направить меня в правильном направлении.
dbhalu
1

голосов
0

ответ
140

Просмотры

Проблема с SSL, Nginx, gunicorn и Джанго в производстве

У меня вопрос получения Nginx передать контроль над маршрутизацией на мою Джанго сервер. По умолчанию он проверяет «/» путь, и если пользователь не вошел в систему перенаправляет на «/ логин», а затем при входе передает его обратно в «/». Войти страница работает отлично, пока вы не предоставите, то он бросает «Внутренняя ошибка сервера». Сервер Ubuntu 16.4. Кроме того, питон 3.5 и внутри virtualenv. Дайте мне знать, если мне нужно, чтобы обеспечить конфигурации gunicorn службы. Мой Nginx выглядит следующим образом: сервер {server_name example.com; перепишем ^ https://www.example.com постоянные (*.); } {Сервер слушать 80; server_name www.example.com; перепишем ^ https://www.example.com постоянные (*.); } {Сервер слушать 443 SSL; server_name www.example.com; SSL на; ssl_certificate /etc/nginx/12345678.crt; ssl_certificate_key /etc/nginx/ssl.key; Местонахождение = /favicon.ico {access_log выключен; log_not_found выкл; } Местоположение / статический / {корень / дома / убунту / приложение; } Местоположение / {включают proxy_params; proxy_pass HTTP: // Unix: /home/ubuntu/app/app.sock; }}
Justin Snyder
1

голосов
0

ответ
604

Просмотры

Аутентификация Nginx от внешней службы

Моя цель состоит в том, чтобы обеспечить доступ на один (статический) веб-странице / папке только для авторизованных пользователей. auth_basic НЕ вариант. Есть 2 сервера: Nginx (содержит HTTP, CSS и JavaScript) и REST-сервер (делает проверку подлинности и обеспечивает безопасное содержание). REST-сервер предоставляет маркер доступа. На www.somesite.com/secret (организовано Nginx), должны получить доступ только авторизованным пользователям. Я пытался что-то похожее на это https://www.nginx.com/resources/admin-guide/restricting-access-auth-request/ это мой конфигурационный пример: расположение / секретный / {auth_request / restauth; auth_request_set $ auth_status $ upstream_status; } Местоположение / restauth / {внутренний; proxy_pass HTTP: // локальный: 8080 / API / аутентификации / Логин; proxy_pass_request_body выкл; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $ REQUEST_URI; } При этом, только GET запрос посылается, поддержка REST службы только POST. Как я могу отправить POST с маркером доступа, а также с кодом 200, чтобы обеспечить доступ к содержимому папки / Идента? Еще одна интересная вещь, которую я нашел nginscript, но этот простой пример с этого сайта не работает для меня.
ivan
1

голосов
1

ответ
732

Просмотры

Как получить Nginx значения куков по имени печенья

Я пытаюсь получить значение куки по имени в Nginx. Мой код: если (.? $ REQUEST_URI ~ * / ID / (*) \ х) {множество $ ID $ 1; набор $ my_cookiename id- $ ID; } Если ($ HTTP_COOKIE ~ * $ my_cookiename "= ([а-z0-9] +) (:;? | $)") {Набор $ my_cookievalue $ 1; } Местоположение / идентификатор {default_type 'текст / обычный'; Эхо $ my_cookievalue; }
subs sss
1

голосов
2

ответ
263

Просмотры

Экспресс-приложение не может получить статический контент при изменении местоположения блока Nginx

У меня есть приложение express.js AngularJs, который использует глотку для строительства и обслуживания различных сред (а именно DEV / постановка / тестирование / производство) и Nginx в качестве обратного прокси-сервера. NodeJS App приложение было написано следующим AngularJS Джона папина стилистического справочник и конфигурация глотка сильно вдохновлена ​​этим образец применением его. Основные части приложения структурирована следующим образом: / сборки (создается на лету, оптимизирует код) маршруты / SRC (нет Optimiztion) / клиент / приложение / содержание / тест index.html / сервер / данные / gulpfile.js Экспресс Middleware Выдержки // /src/server/app.js переключатель (среда) {случай 'этап': случай 'построить': console.log ( '** BUILD **'); console.log ( 'выступающей от' + './build/'); app.use ( '/', express.static ( './ построить /')); перерыв; по умолчанию: console.log ( '** DEV **'); console.log ( 'выступающей от' + './src/client/ и ./'); app.use ( '/', express.static ( './ SRC / клиент /')); app.use ( '/', express.static ( './')); перерыв; } App.listen (порт, функция () {console.log ( 'Экспресс-сервер прослушивает порт' + порт); console.log ( 'окр =' + app.get ( 'окр') + '\ n__dirname =' + __dirname + \ nprocess.cwd = '+ process.cwd ());}); Обратный прокси-сервер Я использую Nginx в качестве обратного прокси-сервера для экспресс-сервер и может получить доступ к нему в my_domain_name с использованием конфигурации ниже. вверх по течению my_nodejs_upstream {сервер 127.0.0.1:7203; KeepAlive 64; } {Сервер слушать 80; server_name my_domain_name; вернуться 301 https: // $ server_name $ REQUEST_URI; } Сервера {# конфигурации SSL слушать 443 SSL http2 default_server; слушать [::]: 443 http2 default_server SSL; включить фрагменты кода / Self-signed.conf; включить фрагменты кода / SSL-params.conf; Местонахождение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_set_header X-Nginx-прокси верны; proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; proxy_max_temp_file_size 0; proxy_pass HTTP: // my_nodejs_upstream /; proxy_redirect выкл; proxy_read_timeout 240s; } Это работает, но я в конечном счете хочу, чтобы иметь возможность получить доступ к приложению в my_domain_name / приложение, так что я думал, что просто изменив расположение URI будет делать трюк. Местонахождение / приложение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_set_header X-Nginx-прокси верны; proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; proxy_max_temp_file_size 0; proxy_pass HTTP: // my_nodejs_upstream /; proxy_redirect выкл; proxy_read_timeout 240s; } Это не работает. Я в состоянии получить доступ к приложению через экспресс-сервер, то есть в my_domain_name: 7203, но при попытке открыть его в my_domain_name / приложении Я получаю 404 ошибки на все статический контент. Похоже, что «/ / приложение» часть не передаются дальше. Например, запрашивающих Минимизированный CSS по-прежнему делается на https: //my_domain_name/content/all.min-06c3b402.css тогда файл в данный момент находится на https: //my_domain_name/app/content/all.min-06c3b402.css , Я не совсем уверен, как действовать дальше. Edit 1 (2018-03-01) Опуская /, т.е. proxy_pass HTTP: // my_nodejs_upstream; до сих пор работает, если я ставлю в местоположении / блоке, но не в месте / приложения. Я бегу в другую ошибку на этот раз, однако, как я не в состоянии получить доступ к его вообще невозможно получить / приложение. Я также обновил OP с некоторой дополнительной информации (а именно раздел Экспресс Middleware Отрывок). м на самом деле не знает, как действовать дальше. Edit 1 (2018-03-01) Опуская /, т.е. proxy_pass HTTP: // my_nodejs_upstream; до сих пор работает, если я ставлю в местоположении / блоке, но не в месте / приложения. Я бегу в другую ошибку на этот раз, однако, как я не в состоянии получить доступ к его вообще невозможно получить / приложение. Я также обновил OP с некоторой дополнительной информации (а именно раздел Экспресс Middleware Отрывок). м на самом деле не знает, как действовать дальше. Edit 1 (2018-03-01) Опуская /, т.е. proxy_pass HTTP: // my_nodejs_upstream; до сих пор работает, если я ставлю в местоположении / блоке, но не в месте / приложения. Я бегу в другую ошибку на этот раз, однако, как я не в состоянии получить доступ к его вообще невозможно получить / приложение. Я также обновил OP с некоторой дополнительной информации (а именно раздел Экспресс Middleware Отрывок).
koffertfisk
1

голосов
1

ответ
56

Просмотры

Nginx вариант HSTS отключает другую безопасность

У меня есть такая конфигурация в / и т.д. / Nginx / сайты-доступные / сервер по умолчанию {слушать 443 SSL; # Управляется Certbot ... # add_header Strict-Transport-Security "Макс-возраст = 63072000; IncludeSubdomains;"; } И у меня есть следующие в /etc/nginx/nginx.conf HTTP {add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-защита "1; Режим = блок"; ...} Теперь, если я проверить мой сайт, используя https://securityheaders.io/ с этой конфигурацией я прохожу 3 теста для XSS, Content Type и Frame, но я не пройти тест HSTS. Если я комментирую на HSTS add_header Строгое-Transport-Security "макс возраста = 63072000; IncludeSubdomains;"; линия, я пройти тест STS, но я не передать другой 3 больше. Что я делаю неправильно?
Bogdan Daniel
1

голосов
0

ответ
82

Просмотры

matching service names in docker-compose and those of kubenetes

У меня есть конфигурация в Google Cloud kubernetes, что я хотел бы подражать с Докером-композом для местного развития. Моя проблема заключается в том, что Докер-Compose создает имя службы с именем папки (purplecloud) плюс подчеркивание на передней панели и подчеркивание плюс «1» в конце, а kubernetes нет. Кроме того, kubenetes не позволяет мне использовать имена служб с «_». Это вызывает у меня дополнительный шаг изменения моего Nginx конфигурации, который направляет к этому микро-службе и другим microservices с той же проблемой имен. Есть ли способ, чтобы назвать службу в Докер-композе быть такой же, как kubernetes? Мой Google Cloud YAML включает apiVersion: v1 вида: метаданные службы: Имя: счет-сервис # совпадает с именем в nginx.conf для правила "местоположение / счет /", то есть HTTP: // счет-служба: 80 / спецификации: порты: - порт : 80 targetPort: 80 Тип: NodePort селектор: приложение: счет-стручок У меня есть Nginx стручок, который должен направлять на вышеуказанный счет микро-службу. Nginx направиться к этой службе с помощью HTTP: // счета-службы: 80 / My докер-Compose YAML включает в себя версию: «3,1» # необходимо указать, либо версия 1 будет использоваться услуги: счет: # DNS имя HTTP: // purplecloud_account_1: 80 /; строить: контекст: ./account dockerfile: account.Dockerfile изображения: account_get_jwt порты: - '4001: 80' - '42126: 42126' # хрома Debuger окружающей среды: - PORT = 80 У меня есть Nginx стручок, который нуждается в пути к вышесказанному счета микро-сервис. Nginx может направить на эту услугу с помощью HTTP: // purplecloud_account_1: 80 / Так что мне нужно поменять в Nginx конфигурацию, когда я иду между Докерами-композом и kubernetes.
grabbag
1

голосов
1

ответ
75

Просмотры

Могу ли я разместить все директивы Ssl в HTTP блоке Nginx в?

У меня есть веб-сервер, где предлагается несколько субдоменов (обычный nginx.conf с папкой на сайтах с поддержкой), и я обновляю ssl_ciphers, ssl_dhparam и т.д. Учитывая, что я хочу такие же меры безопасности для всех субдоменов, можно разместить ssl_ciphers , ssl_dhparam, ssl_protocols и т.д. в HTTP блоке nginx.conf, а не повторять в блоке сервера каждого субдомене?
Tim Nyborg
1

голосов
0

ответ
162

Просмотры

Nginx Proxy Cache Key not saving variants of query params

У меня есть конфигурацию Nginx, которая имеет следующий код для / местоположения: местоположение = / {gzip_proxied любой; GZIP на; gzip_types текст / XML текст / обычный текст / CSS текст / JavaScript приложения / JavaScript; gzip_disable (GoZilla | Травиата); gzip_min_length 1400; gzip_comp_level 9; proxy_cache index_cache; proxy_pass HTTP: // nodejs; proxy_cache_key $ proxy_host $ $ arg_id URI и $ arg_toggle-на & $ arg_toggle-офф; набор $ NoCache 0; если ($ arg_id = "") {набор $ NoCache 1; } Если ($ arg_number) {набор $ NoCache 1; } Proxy_no_cache $ NoCache; } Пары ID запроса состоит из целого числа, обычно длина 1-4 цифр. Тумблер включения и выключения переключаться параметры запроса содержат строки, которые разделены запятыми для каждого переключателя. Например, я мог бы иметь: https: //mywebsite.com/?id=1234&toggle-on=animations,fields,experiments&toggle-off=control Если тумблер на затем оценить анимацию, поля и эксперимент струны на свой собственный в коде. Тем не менее, я нахожу, что по какой-то причине я не в состоянии правильно кэшировать это вообще. Поле ID кэшируется должным образом - Nginx знает разницу между одним и другим ID (пользовательским интерфейсом для изменения этого сайта динамически на основе этого значения). Тумблер включения и выключения переключаться из них, однако, этого не делают. Они не правильно кэшировать точно, какие значения присваиваются каждые пары запроса при условии. Что я могу копать глубже, так что я могу стать немного меньше застряли здесь? и экспериментировать струны на своем собственном в коде. Тем не менее, я нахожу, что по какой-то причине я не в состоянии правильно кэшировать это вообще. Поле ID кэшируется должным образом - Nginx знает разницу между одним и другим ID (пользовательским интерфейсом для изменения этого сайта динамически на основе этого значения). Тумблер включения и выключения переключаться из них, однако, этого не делают. Они не правильно кэшировать точно, какие значения присваиваются каждые пары запроса при условии. Что я могу копать глубже, так что я могу стать немного меньше застряли здесь? и экспериментировать струны на своем собственном в коде. Тем не менее, я нахожу, что по какой-то причине я не в состоянии правильно кэшировать это вообще. Поле ID кэшируется должным образом - Nginx знает разницу между одним и другим ID (пользовательским интерфейсом для изменения этого сайта динамически на основе этого значения). Тумблер включения и выключения переключаться из них, однако, этого не делают. Они не правильно кэшировать точно, какие значения присваиваются каждые пары запроса при условии. Что я могу копать глубже, так что я могу стать немного меньше застряли здесь? т правильно кэшировать, какие именно значения присваиваются каждому парам запроса при условии. Что я могу копать глубже, так что я могу стать немного меньше застряли здесь? т правильно кэшировать, какие именно значения присваиваются каждому парам запроса при условии. Что я могу копать глубже, так что я могу стать немного меньше застряли здесь?
Richard Kho
1

голосов
2

ответ
279

Просмотры

Nginx обратный прокси-терминации SSL с грузчиком - слишком много переадресаций

Я немного из моего элемента пытается развернуть (PHP) приложение Laravel через грузчик. Все прекрасно работает, пока я пытаюсь использовать SSL сертификаты с помощью Позволяет шифровать, который запускает цикл перенаправления Я не в состоянии решить. перед приложением {Сервер app1520925178: 80; } {Сервер слушать 80 default_server; server_name app.example.com; # Ручка будущее LE обновит местоположение /.well-known {корень / вар / WWW / HTML; try_files $ $ URI URI / = 404; } Местоположение / {вернуть 301 https: // $ server_name $ REQUEST_URI; }} Сервер {слушать 443 Ssl default_server; server_name app.example.com; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384: DHE-RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA- AES128-SHA: ECDHE-RSA-AES256-SHA384: ECDHE-RSA-AES128-SHA: ECDHE-ECDSA-AES256-SHA384: ECDHE-ECDSA-AES256-SHA: ECDHE-RSA-AES256-SHA: DHE-RSA-AES128- SHA256: DHE-RSA-AES128-SHA: DHE-RSA-AES256-SHA256: DHE-RSA-AES256-SHA: ECDHE-ECDSA-DES-CBC3-ША: ECDHE-RSA-DES-CBC3-ША: EDH-RSA- DES-CBC3-ША: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: DES-CBC3-ША: DSS;! ssl_prefer_server_ciphers на; ssl_session_cache общий: SSL: 10m; ssl_session_timeout 24h; keepalive_timeout 300s; SSL на; ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem; кодировка UTF-8; расположение / {#include proxy_params; proxy_pass HTTP: // приложение; proxy_redirect выкл; proxy_set_header хоста $ хоста; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $ server_name; # Ручка соединения веб-сокетов proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это. proxy_pass HTTP: // приложение; proxy_redirect выкл; proxy_set_header хоста $ хоста; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $ server_name; # Ручка соединения веб-сокетов proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это. proxy_pass HTTP: // приложение; proxy_redirect выкл; proxy_set_header хоста $ хоста; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $ server_name; # Ручка соединения веб-сокетов proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это. proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $ server_name; # Ручка соединения веб-сокетов proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это. proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $ server_name; # Ручка соединения веб-сокетов proxy_http_version 1.1; proxy_set_header Обновление $ http_upgrade; proxy_set_header Connection "Обновление"; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это. ; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это. ; }} Любое руководство высоко ценится. EDIT: «случайно» начал работать через несколько минут после того, как этот пост был создан. До сих пор не 100% уверен, почему это заняло бы время, чтобы «распространять», если кто-то имеет представление о том, что я ценю это.
jakeharris
1

голосов
0

ответ
65

Просмотры

Метеор приложение развернуто с Phusion пассажира показывает ошибки синтаксического анализа отклика приложения фрагментированное кодирование: Неожиданный конец-потока

Я бег приложения Метеора развернутое с Phusion Пассажиром и недавно заметил, что приложение периодически умирает и проблемы перезагрузки. Она работает большую часть времени, и я не обновлял его в течение месяца или более. Я предполагаю, что моя установка должна быть в основном правильно или не будет работать вообще. Кажется, что-то делать с отрывов, к сожалению, я не знаю, что это такое и как его отладить. Я попытался перезагрузить Nginx Sudo службы, но проблема повторилась. С уровня журнала пассажирской 3 Я видел эту ошибку: Phusion пассажира Отключение клиента с ошибкой: Ошибка синтаксического анализа отклика приложения фрагментированное кодирования: Неожиданный конец-потока Вот пример вывода из /var/log/nginx/error.log с множеством уровней журнала Passenger до 7: [D3 2018-03-19 10: 53: 01,9223 20068 / T5 Ser / HttpChunkedBodyParser.h: 183]: [Клиент 103] ChunkedBodyParser: разборе новый кусок [D3 2018-03-19 10: 53: 01,9223 20068 / T5 Ser / HttpChunkedBodyParser.h: 123]: [Клиент 103] ChunkedBodyParser: размер блока определяется: 78 байт [D3 2018-03-19 10:53: 01,9224 20068 / T5 Ser / HttpChunkedBodyParser.h: 162]: [Клиент 103] ChunkedBodyParser: разбор 78 из 78 байт данных оставшейся порции; 0 Теперь остальные [D3 2018-03-19 10: 53: 01,9224 20068 / T5 Ser / FileBufferedChannel.h: 1415]: [ФБК 0xcb62f0] Питание 78 байт [D3 2018-03-19 10: 53: 01,9224 20068 / T5 Ser /FileBufferedChannel.h:485]: [ФБК 0xcb62f0] PushBuffer () завершено: nbuffers = 1, bytesBuffered = 78 [D3 2018-03-19 10: 53: 01,9226 20068 / T5 Ser / FileBufferedChannel.h: 553]: [ФБК 0xcb62f0] Читатель: чтение следующего [D3 2018-03-19 10: 53: 01,9229 20068 / T5 Ser / FileBufferedChannel.h: 585]: [ФБК 0xcb62f0] Читатель: найден буфер, 78 байт [D3 2018-03-19 10: 53:01. 9230 20068 / T5 Ser / FileBufferedChannel.h: 492]: [ФБК 0xcb62f0] popBuffer () завершено: nbuffers = 0, bytesBuffered = 0 [D3 2018-03-19 10: 53: 01,9230 20068 / T5 Ser / FileBufferedChannel.h: 593]: [ФБК 0xcb62f0] Читатель: кормление буфера, 78 байт [D3 2018-03-19 10: 53: 01,9230 20068 / T5 Ser / FileBufferedChannel.h: 553]: [ФБК 0xcb62f0] Читатель: чтение следующий [D3 2018- 03-19 10: 53: 01,9230 20068 / T5 Ser / FileBufferedChannel.h: 560]: [FBC 0xcb62f0] Читатель: не более буферов. Переход к RS_INACTIVE [D3 2018-03-19 10: 53: 01,9230 20068 / T5 Ser / FileBufferedChannel.h: 538]: [FBC 0xcb62f0] Вызов dataFlushedCallback [D3 2018-03-19 10: 53: 01,9231 20068 / T5 возраст / Кор / Con / ForwardResponse.cpp: 64]: [Клиент 1-103] Событие: onAppSourceData [D3 2018-03-19 10: 53: 01,9231 20068 / T5 возраст / Cor / Con / ForwardResponse.cpp: 206]: [Клиент 1-103] Обработка 7 байт данных приложения: " 9232 20068 / T5 возраст / Кор / Кон / ForwardResponse.cpp: 224]: [Клиент 1-103] Конец тела ответа приложение достигло [D2 2018-03-19 10: 53: 01,9232 20068 / T5 возраст / Кор / Кон / ForwardResponse.cpp: 1105]: [Клиент 1-103] не держите-aliving соединение приложения сеанса, потому что приложение не позволит ей [D3 2018-03-19 10: 53: 01,9232 20068 / T5 возраст / Cor / App / socket.h : 191]: сокет: /tmp/passenger.zqbz84I/apps.s/node.1gvzl3: соединение не проверяется обратно в пул соединений. Есть $ [D2 2018-03-19 10: 53: 01,9234 20068 / T5 возраст / Кор / приложение / Gro / SessionManagement.cpp: 150]: Сессия закрыта для процесса (PID = 20096, группа = / вар / WWW / MYAPP / расслоение / общественные) [D2 2018-03-19 10: 53: 01,9235 20068 / T5 Ser / HttpServer.h: 1185]: [Клиент 1-103] Завершение запроса [D3, 2018-03-19 10: 53: 01,9239 20068 / T5 Ser / FileBufferedChannel.h: +1459]: [ФБК 0x7f09bc018270] деинициализация [D3 2018-03-19 10:53:01. 9240 20068 / T5 Ser / FileBufferedChannel.h: 1415]: [ФБК 0xcb62f0] Кормление 0 байт [D3 2018-03-19 10: 53: 01,9240 20068 / T5 Ser / FileBufferedChannel.h: 485]: [ФБК 0xcb62f0] PushBuffer ( ) завершено: nbuffers = 1, bytesBuffered = 0 [D3 2018-03-19 10: 53: 01,9240 20068 / T5 Ser / FileBufferedChannel.h: 553]: [ФБК 0xcb62f0] Читатель: чтение следующего [D3 2018-03-19 10 : 53: 01,9240 20068 / T5 Ser / FileBufferedChannel.h: 565]: [FBC 0xcb62f0] Читатель: EOF встречается. Кормление EOF [D3 2018-03-19 10: 53: 01,9240 20068 / T5 Ser / FileBufferedChannel.h: 581]: [ФБК 0xcb62f0] Читатель: EOF, кормили. Переход к RS_TERMINATED [D3 2018-03-19 10: 53: 01,9240 20068 / T5 Ser / FileBufferedChannel.h: 538]: [ФБК 0xcb62f0] Вызов dataFlushedCallback [D3 2018-03-19 10: 53: 01,9241 20068 / T5 Ser / HttpServer.h: 278]: [Клиент 1-103] Запрос RefCount уменьшилось; теперь 1 [D3 2018-03-19 10:53:01. 9241 20068 / T5 Ser / HttpServer.h: 286]: [Клиент 1-103] Не угаснуть подключение, отключение клиента Моя установка: Passenger 5.1.12 / Nginx сервер является Digital Ocean капелька работает Ubuntu 16,04 App построен с Meteor 1.6. 0,1 https://www.phusionpassenger.com/library/walkthroughs/deploy/meteor/ Я бег 3 приложения на этом сервере, все построен с той же версией Метеора и работают под пассажиром без других видимых проблем. Кто-нибудь есть какие-либо идеи, что может быть причиной этой проблемы и как это можно исправить? все построено с той же версией Метеора и работают под пассажиром без других видимых проблем. Кто-нибудь есть какие-либо идеи, что может быть причиной этой проблемы и как это можно исправить? все построено с той же версией Метеора и работают под пассажиром без других видимых проблем. Кто-нибудь есть какие-либо идеи, что может быть причиной этой проблемы и как это можно исправить?
Little Brain
1

голосов
1

ответ
73

Просмотры

Re-решимостью бэкэндом в Nginx SNI Docker роя

Я использую Nginx сделать перенаправление TCP на основе имени хоста, как описано здесь: Nginx TCP переадресация на основе имени хоста Когда восходящие контейнеры снесенные в течение короткого периода времени (5 или около того минут), а затем привела обратно, Nginx Безразлично» т, кажется, вновь разрешить их (по-прежнему получать 111: подключение отказалось ошибка). Я пытался поставить распознаватель в серверном блоке Nginx конфигурации: Сервер {слушать 443; RESOLVER XXXX действительный = 30s proxy_pass $ имени; ssl_preread на; } Я все еще получаю такое же поведение с этим на месте.
thewire247
1

голосов
0

ответ
86

Просмотры

Nginx приложение расположение URLs

Я пытаюсь получить маршрутизации в nignx конфигурации работы. У меня есть приложение по адресу: // app1: 8081 и другое приложение по адресу: // app2: 8080. (FYI Я использую Docker контейнеры поэтому каждое приложение находится в своем собственном контейнере) То, что я работаю для Nginx является app1 является точкой http://example.com. Где у меня проблемы при получении http://example.com/gc работать. Сервер {слушать 80; server_name http://example.com; Местонахождение / дс / {proxy_pass HTTP: // app2: 8080 /; } Местоположение / {proxy_pass HTTP: // app1: 8081 /; }} Я попытался proxy_pass с и без закрывающего / и расположение с и без закрывающего /. У меня было странное результат, где собирается example.com/gc/ бы переписать example.com/home, который не работал. Я' м надеялся на что-то, похожее на IIS с папками приложений под сайт. Если у вас есть сайт, который указывает на example.com и поместить приложение с именем дс и указать его в папку приложения. Конечный результат должен быть example.com/gc/home оказывает app2: 8080 / дома. Любая помощь с моей Nginx конфигурации было бы весьма признателен.
Nacho65
1

голосов
0

ответ
276

Просмотры

Иногда ответ JSON от сервера апи усекается

Окружающая среда (запрос) -> (ALB) -> Рельсы (единорог) - (API) -> (ALB) -> Nginx -> Java-сервер (Tomcat) Nginx 1.13.0, Apache Tomcat / 8.5.16 ЧТО Иногда единорог получает укороченные JSON. В то же время, ошибка произошла на Nginx. 2018/03/19 19:17:01 [ошибка] 11 # 11: * 234263 readv () не удалось (104: сброс соединения одноранговой) во время чтения вверх по течению, клиент: xxx.xxx.xx.x, сервер: _ запрос : "GET / some_endpoint HTTP / 1.1", вверх по течению: "HTTP: //xxx.xxx.xx.x: 8080 / some_endpoint", ведущий: "xxx.ap-northeast-1.elb.amazonaws.com" Я гугле некоторые слова Nginx усеченный JSON, сброс соединения одноранговой во время чтения вверх по течению, но я не получил никакой информации. В каждой ассоциации, ответ JSON является немного большим (под 64kb), поэтому я подозреваю, https://serverfault.com/questions/315085/nginx-proxy-pass-response-truncated проблема, но в настоящее время я думаю, что это не связано. В чем проблема в этой ситуации? вот моя конфигурация Nginx. /etc/nginx/nginx.conf пользователя Nginx; worker_processes авто; error_log /var/log/nginx/error.log; PID /var/run/nginx.pid; события {worker_connections 1024; } HTTP {включают /etc/nginx/mime.types; Применение default_type / октет-поток; log_format главный '$ REMOTE_ADDR - $ remote_user [$ time_local] "$ запрос"' 'статус $ $ body_bytes_sent "$ HTTP_REFERER"' ' "$ http_user_agent" "$ HTTP_X_FORWARDED_FOR" '$ request_time $ upstream_response_time' « "$ http_x_app_os"«$ http_x_app_version» "$ http_x_kidsly_model" '; access_log / вар / Журнал / Nginx / доступа. Основной войти; SendFile на; tcp_nopush на; tcp_nodelay на; server_tokens выкл; set_real_ip_from $ {ELB_SUBNET_CIDR_AZ_A}; set_real_ip_from $ {ELB_SUBNET_CIDR_AZ_C}; real_ip_header X-Forwarded-В; client_max_body_size 50М; включают в себя /etc/nginx/conf.d/*.conf; } {/Etc/nginx/conf.d/default.conf сервер слушать 80 default_server; название сервера _; включают в себя /etc/nginx/mime.types; keepalive_timeout 120; Местонахождение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_redirect выкл; proxy_read_timeout 180; proxy_send_timeout 180; proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }} set_real_ip_from $ {ELB_SUBNET_CIDR_AZ_A}; set_real_ip_from $ {ELB_SUBNET_CIDR_AZ_C}; real_ip_header X-Forwarded-В; client_max_body_size 50М; включают в себя /etc/nginx/conf.d/*.conf; } {/Etc/nginx/conf.d/default.conf сервер слушать 80 default_server; название сервера _; включают в себя /etc/nginx/mime.types; keepalive_timeout 120; Местонахождение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_redirect выкл; proxy_read_timeout 180; proxy_send_timeout 180; proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }} set_real_ip_from $ {ELB_SUBNET_CIDR_AZ_A}; set_real_ip_from $ {ELB_SUBNET_CIDR_AZ_C}; real_ip_header X-Forwarded-В; client_max_body_size 50М; включают в себя /etc/nginx/conf.d/*.conf; } {/Etc/nginx/conf.d/default.conf сервер слушать 80 default_server; название сервера _; включают в себя /etc/nginx/mime.types; keepalive_timeout 120; Местонахождение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_redirect выкл; proxy_read_timeout 180; proxy_send_timeout 180; proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }} } {/Etc/nginx/conf.d/default.conf сервер слушать 80 default_server; название сервера _; включают в себя /etc/nginx/mime.types; keepalive_timeout 120; Местонахождение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_redirect выкл; proxy_read_timeout 180; proxy_send_timeout 180; proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }} } {/Etc/nginx/conf.d/default.conf сервер слушать 80 default_server; название сервера _; включают в себя /etc/nginx/mime.types; keepalive_timeout 120; Местонахождение / {proxy_set_header X-Forwarded-за $ proxy_add_x_forwarded_for; proxy_set_header хоста $ HTTP_HOST; proxy_redirect выкл; proxy_read_timeout 180; proxy_send_timeout 180; proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }} proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }} proxy_pass HTTP: // Приложение: 8080 /; } Местоположение / nginx_status {stub_status на; access_log выкл; позволяют 127.0.0.1; все отрицают; }}
reizist
1

голосов
0

ответ
174

Просмотры

сервер Настройка Nginx для работы с приложением React в подпапке сайта Wordpress?

У меня есть сайт WordPress хостинг на сервере Nginx. Я пытаюсь развернуть мое приложение реагирует на запуск в подпапке на WordPress сайта. Я видел подобные вопросы / ответы, и я попытался следующие настройки в моем Nginx конфигурации. местоположение / reactApp {корень /var/www/example.com; Индекс index.html; try_files $ $ URI URI / /reactApp/index.html; } Это простое приложение, блог и страница работы приложения, но проблема в том, - я также должен передать параметр URL в приложение для отображения надлежащего сообщения в блоге. http://www.example.com/reactApp/
texan2018
1

голосов
1

ответ
32

Просмотры

Как запустить nodejs и Nginx с dyanmic Докер Option?

Я довольно новый для узла и Nginx. У меня есть задача создания простого веб-сервера, какой хост динамическое содержимое. Очень важная часть веб-сервер должен принимать входные данные от пользователя о портах, которые будут использоваться, любой пользовательский домен для использования (вместо локального хоста), SSL сертификаты и т.д. от инсталлятора [Его предполагается построить для докер], но у меня есть не знаю, как выполнить скрипт таким образом, что это не передает переменную, вводимую пользователем (например, $ SERVER_URI) в nginx.conf и файл узла и перезаписать текущие данные
Samyak Jha
1

голосов
0

ответ
66

Просмотры

Installed nginx and passenger but can't find passenger.conf

Я установил Nginx + пассажир этих команд SUDO меткого ключ его --keyserver HKP: //keyserver.ubuntu.com: 80 --recv клавиша 561F9B9CAC40B2F7 Sudo APT-получить установку -y склонных-транспортные HTTPS-CA-сертификаты Sudo ш -c 'эхо Деб https://oss-binaries.phusionpassenger.com/apt/passenger дружественной главная> /etc/apt/sources.list.d/passenger.list' Sudo APT-получить обновление Sudo APT-получить установку -y Nginx-дополнительные пассажирские и это показывает «пассажир уже новая версия» Я хочу, чтобы включить /etc/nginx/passenger.conf; в моем /etc/nginx/nginx.conf Но я не могу найти passenger.conf в / и т.д. / Nginx / так, когда я SUDO службы Nginx перезарядку и Nginx службы SUDO перезагружать Это терпит неудачу, как это не он автоматически устанавливается после пассажира + Nginx установка успеха? Любая идея, чтобы решить эту проблему? Спасибо
Adamlin0708

Просмотр дополнительных вопросов

Связанные вопросы