Задать вопрос
  • SSL-сертификат и Nginx + Apache. Как правильно добавить сертификат?

    нет, не достаточно.
    С точки зрения безопасности у вас http между апачем и nginx
    Так же если уже заводить геморрой с https подключение letsencrypt
    отслеживанием просрочки сертитфикатов и тд.
    Допила конфигов для сертификата класа А+
    Сразу напрашивается вопрос о переходе на http2 ибо это дописать всего лиьшь 1 слово. а профит явно есть.
    Таки тут уже не хватит https только на nginx поскольку http2 будет отдаваться только статика а апачь будет висеть на http
    так что с виду да хватит
    но дьявол в деталях ;(
    А вот для них уже не достаточно.
    9692ef9540114e44aa02297752544a1d.png
  • Как додружить nginx с .htaccess не используя сервисы сonvert rewrite rules?

    shambler81
    @shambler81 Куратор тега htaccess
    ОДНАКОЖ НАМУТИЛИ ХЕРНИ ;)
    тут ниче страшного так же добавь исключения, хотя нахуя так делать не совсем понятно.

    # Use the front controller as index file. It serves as fallback solution when
    # every other rewrite/redirect fails (e.g. in an aliased environment without
    # mod_rewrite). Additionally, this reduces the matching process for the
    # startpage (path "/") because otherwise Apache will apply the rewritting rules
    # to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).
    DirectoryIndex index.php
    
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        # Block access to AVCMS code folders
        RewriteRule ^(src/|cache/|webmaster/(?!templates)|vendor/) - [F,L,NC]
    
        # Determine the RewriteBase automatically and set it as environment variable.
        # If you are using Apache aliases to do mass virtual hosting or installed the
        # project in a subdirectory, the base path will be prepended to allow proper
        # resolution of the app.php file and to redirect to the correct URI. It will
        # work in environments without path prefix as well, providing a safe, one-size
        # fits all solution. But as you do not need it in this case, you can comment
        # the following 2 lines to eliminate the overhead.
        RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
        RewriteCond %{REQUEST_URI} !^/install\.php$
        RewriteRule ^(.*) - [E=BASE:%1]
    
        # Redirect to URI without front controller to prevent duplicate content
        # (with and without `/app.php`). Only do this redirect on the initial
        # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
        # endless redirect loop (request -> rewrite to front controller ->
        # redirect -> request -> ...).
        # So in case you get a "too many redirects" error or you always get redirected
        # to the startpage because your Apache does not expose the REDIRECT_STATUS
        # environment variable, you have 2 choices:
        # - disable this feature by commenting the following 2 lines or
        # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
        #   following RewriteCond (best solution)
        RewriteCond %{ENV:REDIRECT_STATUS} ^$
            RewriteRule ^index\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
    
        # If the requested filename exists, simply serve it.
        # We only want to let Apache serve files and not directories.
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule .? - [L]
    
        # Rewrite all other queries to the front controller.
        RewriteCond %{REQUEST_URI} !^/install\.php$
        RewriteRule .? %{ENV:BASE}/index.php [L]
    </IfModule>
    
    <IfModule !mod_rewrite.c>
        <IfModule mod_alias.c>
            # When mod_rewrite is not available, we instruct a temporary redirect of
            # the startpage to the front controller explicitly so that the website
            # and the generated links can still be used.
            RewriteCond %{REQUEST_URI} !^/install\.php$
            RewriteRule ^/$ /index.php/ [R=302,L]
            
            # RedirectTemp cannot be used instead
        </IfModule>
    </IfModule>
    
    <Files ~ "\.(yml|twig)$|composer.json|composer.lock">
        order deny,allow
        deny from all
    </Files>

    потом по 1 убирай условия, так найдешь что из них в цикле, не забывай о кеше редиректов в браузере
    или использовать каждый раз новое инкогдито
    или отключи кеш редиректов в браузере.
  • Как перевести существующий сайт с кириллицей в url на транслит?

    AndreyBLG: новые урлы можно и делать не на кириллице
    , старые оставлять как есть .
    Но поскольку этого движок не допустит.
    я бы оставил как ест.
    Есть проблемы с кириллицей ?
    понятно что лучше не стоит но в общем и целом, есть негативный фид ?
  • Как додружить nginx с .htaccess не используя сервисы сonvert rewrite rules?

    shambler81
    @shambler81 Куратор тега htaccess
    закоментил ненужные правила, это частный случай регулярного выражения рядом.
    Вообще редиректы на слешь ил без него делаются отдельно. И не дублируются по 100 раз.
    Да и если вам так преспичило то хоть исключите из диапазона слеш.
    RewriteRule ^game/(.*)/$ game.php?do=$1
    RewriteRule ^game/(.+)^[/]$ game.php?do=$1

    Так же не забывайте что во многих правилах вам нужно еще и менять.* на.+
    Ну или если прям хочется жестких регулярок то так
    RewriteRule ^gamefeed(/|)$ api.php?type=game_feed (\|) - или слеш или конец строки.
    Короче вот что вам нужно оставить, да и то можно допилить

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    
         #RewriteRule ^play/(.+)-(.+).html$ play.php?slug=$1&id=$2
    RewriteRule ^page/(.+)-(.+)\.html$ page.php?slug=$1&id=$2
         #RewriteRule ^category/(.*)/$ category.php?name=$1
    RewriteRule ^category/(.*)$ category.php?name=$1
         #RewriteRule ^user/(.*)/$ profile.php?name=$1
    RewriteRule ^user/(.*)$ profile.php?name=$1
         #RewriteRule ^game/(.*)/(.*)/$ game.php?do=$1&id=$2
    RewriteRule ^game/(.+)/(.+)$ game.php?do=$1&id=$2
         #RewriteRule ^game/(.*)/$ game.php?do=$1
    RewriteRule ^game/(.+)$ game.php?do=$1
         #RewriteRule ^panel/(.*)/(.*)/(.*)/$ panel.php?page=$1&type=$2&id=$3
    RewriteRule ^panel/(.+)/(.+)/(.+)$ panel.php?page=$1&type=$2&id=$3
         #RewriteRule ^panel/(.*)/(.*)/$ panel.php?page=$1&type=$2
    RewriteRule ^panel/(.+)/(.+)$ panel.php?page=$1&type=$2
         #RewriteRule ^login/(.*)/(.*)/$ login.php?type=$1&code=$2
    RewriteRule ^login/(.+)/(.+)$ login.php?type=$1&code=$2
         #RewriteRule ^login/(.*)/$ system/external/OAuth/login.php?app=$1
    RewriteRule ^login/(.+)$ system/external/OAuth/login.php?app=$1
    RewriteRule ^embed/game/(.*)$ api.php?type=game_embed&id=$1
         #RewriteRule ^embed/game/(.*)/$ api.php?type=game_embed&id=$1
    RewriteRule ^api/user/(.+)$ api.php?type=user_data&id=$1
         #RewriteRule ^data/user/(.*)/$ api.php?type=user_data&id=$1
    RewriteRule ^gamefeed(/|)$ api.php?type=game_feed
         #RewriteRule ^gamefeed$ api.php?type=game_feed
    RewriteRule ^gamefeed/(.+)$ api.php?type=game_feed&$1
         #RewriteRule ^language/(.*)/$ language.php?code=$1
    RewriteRule ^language/(.+)$ language.php?code=$1
         #RewriteRule ^forgot/(.*)/(.*)/(.*)/$ forgot.php?do=$1&forgotcode=$2&email=$3
    RewriteRule ^forgot/(.+)/(.+)/(.+)$ forgot.php?do=$1&forgotcode=$2&email=$3
         #ewriteRule ^arcanox/(.*)/(.*)/$ arcanox.php?type=$1&password=$2
    RewriteRule ^arcanox/(.+)/(.+)$ arcanox.php?type=$1&password=$2
         #RewriteRule ^warning/(.*)/$ error.php?type=$1
    RewriteRule ^warning/(.+)$ error.php?type=$1
         #RewriteRule ^search/(.+)/$ search.php?s=$1
    RewriteRule ^search/(.*)$ search.php?s=$1
    RewriteRule ^register/(.*)$ register.php$1
    RewriteRule ^system/language.js$ system/external/language.php
    RewriteRule ^system/captcha.png$ system/external/captcha.php
    RewriteRule ^warning/$ error.php
    RewriteRule ^warning$ error.php
    RewriteRule ^pending$ pending.php
    RewriteRule ^panel$ panel.php
    RewriteRule ^favorites$ favorites.php
    RewriteRule ^settings$ settings.php
    RewriteRule ^profile$ profile.php
    RewriteRule ^leaderboard$ leaderboard.php
    RewriteRule ^login$ login.php
    RewriteRule ^forgot$ forgot.php
    RewriteRule ^register$ register.php
    RewriteRule ^logout$ logout.php


    Закоментированное удалишь сам
    А вообще вам нужно подумать о ЧПУ
  • Mod_rewrite Как сделать редирект с http на https и site.com на www.site.com?

    не верь глазам своим.
    https://bertal.ru/index.php?a4042992
    Покаж ответ сервера ?
    Не забывай что браузеры считают https более предпочтительном и им похеру на твои редиректы.
    сайт может отдавать 200 а браузер переходить на https
    так же не забывай про кеш редиректов у браузера.
  • Mod_rewrite Как сделать редирект с http на https и site.com на www.site.com?

    Yuriy: чтоб он отдавал 200 ?
    # 1. Удалить www
    RewriteCond %{ENV:HTTPS} on
        #Если включен https
    RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
        # Проверяем, содержит ли домен www в начале URL.
    RewriteCond %{REQUEST_URI} !^/robots\.txt$
    #  и не робот 
    RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
        # Перенаправляем удаляем www
    
        # 2. Добавить www
    RewriteCond %{ENV:HTTPS} on
        #Если включен https
    RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    RewriteCond %{REQUEST_URI} !^/robots\.txt$
    #  и не робот 
    RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    Михаил: Так а что же по вашему лишнее ? нифига не понятно. Вы хоть расписывайте че вам нужно.
    Ладно там как это сделать, но что нужно, можно расписать ?
    Чего лишнего в например в centos mini
  • Какие есть аналоги связки WinSCP+Putty для OS X?

    А зачем вам такие чудовища на мак ос.
    По сути os-X это банально сворованый Стивом unix
    А linux это пере писаный с нуля unux.
    Общего между ними явно больше чем между виндой и линукс.
    А следствие этого зачем вам вообще какие-то инструменты для этого ?
    Кто вам мешает просто работать с вашей же консоли
    и кто вам мешает работаь с подмонтированной файловой системой, да еще и штатными средствами ?
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    Sanes: не желаете говорить, не будем отвечать.
  • Как написать редирект для htaccess при чпу?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    ну да видимо у вас не дописано тз
    Правильно ли я понимаю что вам вообще любую ссыылку нужно сократтить до ?PAGEN
    RewriteCond %{QUERY_STRING} (^|&)PAGEN_1\=[0-9]{1,}($|&) [NC]
    RewriteRule ^(+*)$ $1? [L,R=301]
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    Sanes: И ?
    Опять набор предложений.
    По настраивается - так оно все настраивается
    Стартует демоном - ну и ?
    Что из этого следует ?
    Хотите все сами ручками настраивать, так милости просим к нашему шалашу ispcofig3
    инсталляция ручками.
    https://www.ispconfig.org/
    Хотите еще больше интереса, так вот вам https://ru.wikipedia.org/wiki/Gentoo_Linux
    А пока в ваших утверждениях нет конструктива.
    Если вас что-то не устраивает в ответах так хоть постарайтесь ответить что конкретно, и ПОЧЕМУ?
    Чего вы собираетесь добиться в конечном итоге.
    Почему вам это не подоит. И тд.
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    мде, думаю вам лучше подучить линукс
    И да opcache - ускоряет php от 10 до 30 раз в зависимости от движка и качества сборки, способности.
    НО думаю если у вас ssh лишний, то явно и это будет лишним.
  • Как ускорить работу Apache: отдачу статических файлов и выполнение PHP?

    Impeeeery: По оптимизации, если что, то это уже нужно доступ до тестовой площадки и смотреть уже там.
    Ибо трудно сказать проще смотреть
    Вариантов ускорить сайт очень много и порой в десятки раз.
    А порой нет.

    а пока
    Поможет ли в такой ситуации FastCGI? -
    - да поможет но процентов на 15, получешь пару плюсов но и пару минусов типа 503 но вобще у меня проектов 700 на нем сидит, не жалуюсь. Но если говорить о максимальной скорости то выше стоит только nginx+phpfpm - самый быстрый, но не поддерживаются .htacces
    3) Почему не популярны фишки типа eAccelerator (кеширование AST и т.п.)?
    - без них вообще нелььзя ! производительность до 30 раз !!! просто они едят память ;) и хостеры жмут суки, но их ставить обязательно, притом екселератор давно сдох вместо него сейчас opcache притом он реально круче остальных.

    4) Что еще может помочь?
    - ССД может помочь, еще как, и да нужно смотреть код , какой движок какие хиты, все индивидуально
    Но поможет
    Переконфигурация апача - там все печально, до 2 раз.
    переконфигурация php.ini - процентов 30 особенно тяжелые хиты.
    Переработка my.cnf - 30%
    переход на php7.1 - 40% смело!
    jpegoptim - в 3 раза уменьшит страницу.
    http2 - 20% к скорости загрузки
    ipv6 -3% но тоже приятно
    И много чего еще
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    пока он не определится что именно считает "мусором, все остально не имеет значение"
    Может у него сайт на html - так ему и nginx будет мусором и php
    Вот например opcache - это мусор ?
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    sim3x: что vestacp ?
    Если вы хотите совет, уж потрудитесь хоть ответить на вопрос чуть боле чем никак.
  • Готовая сборка Web сервер на Linux (без мусора)?

    shambler81
    @shambler81 Куратор тега Linux
    sim3x: простите а что там мусор ?
  • Как переименовать файлы в каталогах и подкаталогах с Imagemagick?

    shambler81
    @shambler81 Куратор тега Linux
    А кто мешает сделать так ? -exec cp {} '{}-O'
    мало того я бы на твоем месте почитал маны от компрессоров, как правило у них опция сохранять старую версию и новую отдельно.