Задать вопрос
Ответы пользователя по тегу Nginx
  • Как установить bitrix?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
  • Nginx - не могу установить ssl сертификат, в чем проблема?

    ну здрасти а второй сервер по вашему висящий на вообще другом порту каким-то образом должен взять оставшиеся настройки с вообще левого сервера?
    будьте добры дописать все остальное, а еще лучше разнесите их в разные файлы дабы не смущять свой взгляд.

    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
            ssl on;
            ssl_session_cache  shared:SSL:10m;
            ssl_session_timeout 1h;
            ssl_protocols TLSv1.2 TLSv1.1;
            add_header Strict-Transport-Security "max-age=15768000" always;
            ssl_stapling on;
            ssl_stapling_verify on;
            ssl_prefer_server_ciphers on;
            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:DHE-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:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
            ssl_certificate /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.crt;
            ssl_certificate_key /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.key;
            ssl_dhparam /etc/nginx/ssl/dhparam.pem;

    ну а далее документ рут кто интерпретирует пхп и тд и тп servers не может брать настройки с другого srevers помоему это очевидно
    ну и ssl_dhparam нужно сделать
    Ответ написан
    Комментировать
  • Как правильно настроить nginx для нескольких сайтов с SSL на одном ip?

    1. самый логичный вариант поставить vtstacp ispconfig3 braynicp bitrix-vm на выбор и генерировать сертификаты в веб морде при создание сайта.
    2. поскольку сайт один а остальные сайты по факту alias то и генерировать их как alias
    -d syte.ru -d ya.ru -d vk.ru ...
    собственно сертификаты и будут выдаваться для каждого нового сайта.
    Можно на краяняк сделать скрипт который бы смотрел имена сайтов наличие А записи ведущей на этот сервер и запускал генерацию, недавно как-раз такой делал.
    как-раз для многосайтовости ;)
    Ответ написан
    Комментировать
  • Почему выходит ошибка при получении сертификата от Let's Encrypt?

    To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA - тут написана первая по распростроненности причина
    www.horijdaish.uz/.well-known/acme-challenge/UUNXN...
    Timeout during connect (likely firewall problem) - а это вторая возможно даже первая.

    И того
    удали ААА записи letsencrypyt не поддерживает ipv6
    ну и по каой-то причине летсенкрипт не может положить файлик.
    Ответ написан
  • Как обрабатывать ssl и на nginx и на apach?

    nginx      80 --> 82     apache  
    nginx+ssl  443 -> 4443 apache +ssl


    то что пишут в мануалах в интернетах там 100% неправельная ифа поскольку
    предлагают такой вариант
    nginx      80 --> 82     apache  
    nginx+ssl  443 -> 80 apache + эмулировать что это https

    и даже если это частично можно сделать подменив в рефери протокол, но вот тот же ajax на бэке о этом точно не узнает, как и .htaccess и тд и тп , так что это шляпа изначальная.
    делай полноценный фронт и бэк с одними и теми же ключами, дабы это работает без проблем.
    Могуд дать рабочие примеры конфигов.

    конфиг nginx
    конфиг apache
    Ответ написан
    Комментировать
  • Плюсы и минусы двух связок для php7 - nginx/apache/mod_php vs nginx/php-fpm?

    nginx+apache+fpm - все работает великолепно.
    Ответ написан
    Комментировать
  • Как настроить правильно nginx front end apache2 ( Drupal 8, Moodle)?

    Вот тебе конфиг рабочий для 80 порта тупо ударишь лишнее.
    Апачь при этом может быть практически любой поскольку главное прокся а что там сзади уже не важно.
    Так же не нужно использовать домен в бэке хватит и 127.0.0.1 поскольку там все-равно по заголовкам будет разбор а не по домену в проксе.
    реальный nginx
    server {
    
    ######################################################################
    ## Server configuration 
    ######################################################################
    	listen *:443 ssl http2;
    		server_name 5job.ru www.5job.ru   ;
    	root /var/www/5job.ru/web;
    ######################################################################
    ## Enable gzip for proxied requests and static files
    ######################################################################
        # Enable gzip for proxied requests and static files
        gzip on;
        gzip_proxied any;
        gzip_vary on;
        gzip_http_version 1.1;
        gzip_types application/javascript application/json text/css text/xml;
        gzip_comp_level 4;
    
    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
    	ssl on;
    	ssl_session_cache  shared:SSL:10m;
    	ssl_session_timeout 1h;
    	ssl_protocols TLSv1.2 TLSv1.1;
    	add_header Strict-Transport-Security "max-age=15768000" always;
    	ssl_stapling on;
    	ssl_stapling_verify on;
    	ssl_prefer_server_ciphers on;
    	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:DHE-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:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
    	ssl_certificate /var/www/clients/client26/web28/ssl/5job.ru-le.crt;
    	ssl_certificate_key /var/www/clients/client26/web28/ssl/5job.ru-le.key;
    	ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены  
            error_log /dev/null crit;
            access_log off;
    ######################################################################
    ## 555 Еrror requires password password 
    ######################################################################
    # Дев сайты закрыты htpass  login:dev pass:dev (второй кусок ниже)
    	error_page 555 = @pass;
    	location @pass {
    		auth_basic	"Unauthorized";
    		auth_basic_user_file	/var/www/dev_htpasswd;
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		}
    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча,  а так же некоторая статика отдается 
    # средствамси php, по этому все ошибки обрабатывать только apache2
    	error_page 401 403 404 405 500 502 503 = @fallback;
    	location @fallback {
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		}
    
    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files
    
    	location ~ /\.ht {
    		deny all;
    
    		access_log off;
    		log_not_found off;
    	}
    	##
    	location = /favicon.ico {
    		log_not_found off;
    		access_log off;
    	}
    	##
    	location = /robots.txt {
    		allow all;
    		log_not_found off;
    		access_log off;
    	}
    	##
    ######################################################################
    # сервисы  на сайте phpmyadmin почта и letxencrypt
    	location /phpmyadmin/ {
    		deny all;
    		# поставить пароль на phpmyadmin
    		return 555;
    		root  /usr/share/phpmyadmin/;
    	}
    	##
    	location /webmail/ {
    		rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    	}
    	# letsencrypt 
    	 location /.well-known/acme-challenge/ { 
    	 	alias /usr/local/ispconfig/interface/acme/;
    	 	default_type text/plain;
    
    	 }
    # static content 
    # Отдаем статику напрямую с nginx
    	location ~* ^.+\.(jpg|jpeg|svg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    		root  /var/www/5job.ru/web;
    		access_log off;
    		expires 30d;
    		gzip_static on;
    	}
    
    # default location
    	location / {
    		index index.php index.html index.htm;
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		######################################################################
    		## Dev site Protection Requests in location /
    		######################################################################
    		# Дабы дев сайты не индексировались поисковиками, принудительно
    		# Ставим пароли на них,  все что начинается с dev,old. или домен ks03
    			if ($http_host ~* "^(dev|old|www.old|www.dev)\..*\..{2,8}$"){
    		                return 555;
    		                }
    		                if ($http_host ~* "^.*\.ks03\.ru$"){
    		                return 555;
    		                }
    		            
    				proxy_set_header X-Forwarded-Proto https;
    				include /etc/nginx/locations.d/*.conf;
    		}
    }


    А еще лучше поставь веб морду дабы они есть вналичие
    brainycp
    vestacp
    ispconfig3
    bitrix-vm ( морда консольная)
    Ответ написан
    Комментировать
  • Как преобразовывать верхний регистр в нижний?

    че за идиотская идея?
    Уже не первый раз вижу но уже задолбался отвечать
    "ЛИНУКС РЕГИСТРОЗАВИСИМАЯ СИСТЕМА"!!!!!!
    Это физически на уровне FS разные файлы.
    Эту идею придумал идиотский сеошник который НИКОГАД не видил линукс в глаза.
    Нельзя менять регистр просто так
    Поскольку к примеру Images.jpg после этого не откроется
    А в винде нет на уровне FS возможности это отследить при заливке поскольку она в свою очередь эти файлы считает действительно одинаковыми.
    В результате вам нужно будет пройти по всему сайту и всем ссылкам и всем файлам, исправить абсолютно все файлы, провести лекез заказчику и контентщикам о недопустимости регистрозависимых имен файлов при заливке и зачем?
    Ответ написан
    Комментировать
  • Как настроить псевдонимы для apache + nginx?

    1 вариант создайте отдельный сайт с путем к сайту в эту же папку.
    2 через проел в nginx .server_name example.com www.example.com;
    то же самое в apache
    тут без разницы можно и сюда и сюда
    ServerName example.com ya.ru google.com
    ServerAlias www.example.com yandex.ru

    3.вариант
    использовать штатный функционал.
    www.net.ru/instructions/ispmanager/ispmanager-razd...
    Ответ написан
  • Почему низкая скорость при отдаче через кеширующий сервер (proxy_cache)?

    \.mp4 Простите а что это за файл такой интересный ? вы уверены что именно его хотели кешировать?
    один единственный файл .mp4 - ???
    А вот так бы выглядела маска для всех файлов оканчивающихся на mp4
    ~* ^.+\.mp4
    А вот так для перечилсения
    ~* ^.+\.(mp4|mp3)
    Ответ написан
    Комментировать
  • Как разместить два сайта на одном домене, или ход конем?

    shambler81
    @shambler81 Автор вопроса
    всем спасибо сделал достаточно простото. прокся пхп, заменяю урлы на статику
    и на бэке сайт с ввв с исключением в редиректе на основное зеркало для определенного айпи.
    Ответ написан
    Комментировать
  • Nginx proxy_pass для 2х локаций?

    proxy_pass 192.168.1.44/; вы поменяли на http:// 192.168.1.44; или нет ?
    А как вариант вообще сделайте через апстрим
    Я например дела вообще по другому
    я создаю домен
    dev.site.ru - на него вешаю пароль , и открываю его для своег айпи.
    В результате сайт я вижу и работаю даже без пароля если нужно показать то вот пароль, зашли посмотрели свалили.
    а слеш тест это не то кино
    Ответ написан
    Комментировать
  • Как редиректить с www в catch all блоке, когда не используется server_name?

    зачем вы вообще используете default_server; ?
    На нем поставьте "здрасти этот сервер но что-то пошло не так"
    А для сайта сделай нормальный отдельный файл с отдельным

    server {
     listen *:80;
            server_name www.site.ru site.ru  ;
            root /var/www/site.ru/web;
    .........
    
     server {
     listen *:443;
            server_name www.site.ru site.ru  ;
            root /var/www/site.ru/web;
    .........
    Ответ написан
  • Не запускается nginx после обновления ssl сертификата. Что делать?

    1 зачем раз в месяц можно и чаще.
    2. зачем останавливать reload вполне хватает
    Ответ написан
    3 комментария
  • В чем ошибка Let's Encrypt?

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA

    kurstudy.ru.            600     IN      AAAA    2a03:6f00:1::5c35:602e

    К чему бы это ?
    Ответ написан
  • Почему не работает перехват несуществующих доменов в NGINX?

    Уже отвечал сегодня на этот вопрос, и коллеги сказали что все уже давно работает а вам кажется
    Ключи вначале потом стулья
    listen 443 ssl;
           server_name default_server ;
           ssl_certificate        /etc/ssl/certs/ssl-cert-snakeoil.pem;
           ssl_certificate_key    /etc/ssl/private/ssl-cert-snakeoil.key;
           root /var/www/html;
           return 444;
    }

    Работает сайт по HTTPS версии IP. Как исправить?
    Ответ написан
    Комментировать
  • Работает сайт по HTTPS версии IP. Как исправить?

    Господа не выдумываем велосипед
    Работа HTTPS в корне отличается от HTTP
    При обращение по http ты вначале получаешь имя сайта из отета сервера на основание этого имени подставляется конфиг.
    НО при HTTPS вы вначале получаете ключи, и только после этого множите получить хоть байт информации с канала.
    Как следствие этого два постулата:
    1. Если у вас есть хоть один сайт с https у всех остальных он появляется автоматически, хотите вы этого или нет, поскольку механизм разобра конфигов идет после установления канала, это фундоментально!
    Так что при обращение по IP вы в любом случае получите ключи https, поскольку это тупо демон на порту.
    2. Если нет пары ключей для именно этого домена, в частности IP будем считать как домен не имеющий явных ключей для себя. ТО от безвыходности веб сервер берет БЛИЖАЙШИЕ ключи сортируя их по имени то есть как правило это 000-default.conf
    В котором у вас лежат как-раз таки дефолтные ключи, может быть даже самоподписаные, НО только после этого у вас возможно получене http reffer.
    ну все что остается это завести ненужного товарищя в тупик
    например вот так.

    server {

    listen 443 ssl;
           server_name default_server ;
           ssl_certificate        /etc/ssl/certs/ssl-cert-snakeoil.pem;
           ssl_certificate_key    /etc/ssl/private/ssl-cert-snakeoil.key;
           root /var/www/html;
           return 444;
    }

    Но не пытайтесь ограничить сайт по именам до получения ключей это просо невозможно
    Намного проще сделать отдельный конфиг для этого айпи и уводить его в ловушку. чем ловить чего через default_server
    Ответ написан
    6 комментариев
  • Как в nginx подключать ssl если файл сертификата присутствует?

    server_name ~^(www\.)?(?.+)$; - это что за самодеятельность ? это ваще зачем?
    Во первых вы нарушаете философию самого nginx - сам создатель nginx не один раз говорил что !!!
    НАМЕРЕННО не вводил нормальное использование переменных в файлах конфигурации, поскольку куда как правельней 10 раз скопировать кусок файла нежеле забивать ее переменной, не обломится админ скопировать две строчки .
    И я вам могу сказать что он прав.
    2. Вы при генерации сайта все-равно какими-то средствами это делаете, ВЫ ЖЕ НЕ ПИШИТЕ ВСЕ РУКАМИ, ПРИ НАЛИЧИЕ МИЛЛИОНОВ ВЕБ ИНТЕРФЕЙСОВ?
    3. Если вам прям так не имется с проблеммой ввв, сделайте банально линку на папку c www,и не нужно изголяться.
    4. Работа с сертификатом и без него принципиально отличается, КАК МИНИМУМ тем что при обращению по http вначале получается имя домена а потом работа.
    ПО HTTPS вначале работают ключи а только после этого в этом канале можно получить хоть байт информации, включая имя сайта. так что не выдумывайте велосипед.
    Генерируйте конфиги для каждого сайта, а я бы еще рекомендовал отдельно для http и https в таком случае ошибка в одном из них не приводит к падению второго интерфейса.
    ну а дефолтный конфин нужно назвать 000-default... - где 000 говорит о том что он будет первым при выдачи ( посколкуь как я вам расписывал в пункте4 если сайт не имеет https о этом он физически может узнать только получив ключи, как следствие веб сервер возьмет " ближайшие" а сортировка у него именно по буквам ;) 00 просто первые ;)
    Ну и банальное удобство, разные сайты требуют доп изменений в конфигах.
    А следовательно куда в вашей модели их писать?
    Ответ написан
  • Как оптимизировать сервер под тяжелые скрипты с небольшим количеством пользователей?

    очень большая тема.
    В общем
    1. поставь bitrix vm - там 95% уже сделано
    увеличь время с 300 до 1500 в nginx и в принципе этого хватит.
    Ответ написан
    Комментировать