Задать вопрос
  • Работает сайт по 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 комментариев
  • Как понять запись в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_FILENAME} - если этот файл
    -d - является директорией
    Не ! отрицание
    в сумме если это не директория
    RewriteCond %{REQUEST_FILENAME} ! -f- соответственно если это не файл
    RewriteCond +RewriteCond+RewriteCond и так далее пока не появится RewriteRule
    а следоватлеьно первые два правила сложились.

    то Перенаправить все(.*)на index.php сохранив GET QSA
    Ответ написан
    Комментировать
  • Как в nginx подключать ssl если файл сертификата присутствует?

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

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    А запись www есть ? и она ведет на тот же сервер ?
    Ответ написан
    Комментировать
  • Почему после обновления пакета mysql конфигурационный файл вернулся к дефаулту?

    shambler81
    @shambler81 Куратор тега Linux
    имено по этому я /etc в принципе бэкаплю каждый день ;)
    Ответ написан
  • Как оптимизировать сервер под тяжелые скрипты с небольшим количеством пользователей?

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

    shambler81
    @shambler81 Куратор тега htaccess
    вариант без указания домена
    RewriteCond %{ENV:HTTPS} !on    [OR]
    RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
    RewriteRule (.*) https://%1/%{REQUEST_URI} [R=301,L]
    Ответ написан
  • Правда ли, что сейчас так сложно найти работу?

    скажу вам с другой стороны
    1. программисты смотрят хар, где выкладывают фотки гугл яндекс hh и все думают что рабработка это вот так, офис с гамакам и выделеным шефповором для суши.
    2. Следствие этого становятся следующие постулаты
    а ) я уже что-то знаю по этому я буду работать именно так
    б) я буду работать за дорого
    в) я в отличие от всего рынка интернет буду работать на удаленке эффективней чем в офисе ( хотя мировая практика показывает -50% производительности)

    В следствие этого я смотрю по 10 сотрудников в неделю
    все они страдают следующими минусами
    несоразмерное отношение ожиданий к знаниям, как правило это в разы
    Когда сотрудник по факту стоит 50 К и его нужно учить уже требует 200К и свободный график.
    Когда задаешь ему вопрос как ты можешь получить 200К ты ведь должен минимум принести 400 компани
    что в среднем по рынку 2000в час это уже с переработкой.
    на это у него тишина ( 99% ) всех собеседуемых.
    НО и это не главное, а то что в теории народ плавает, то что не в состояние из 50 вопросов ответить на 25.
    Порой разработчик php не знает какая сейчас актуальная верия и уж тем более сказать что в нем нового.
    В таких условиях большенство разработчиков прост слишком завысили свои ожидания, забывая о главном
    В интернтете рынок данной услуги один из самых больших и оооооооочень сильно перегрет фрилансерами и школьниками, демпингуя рынок, по факту вашу работу очень трудно продать даже если вы заслживаете своих денег поскольку школота не конкурирует например в B2B сегменте, но опосредованно влияет на цены.

    Будьте прффесионалом, не на словах а на деле и вы всегда устроить на работу.
    Если же вы хотите более 300 то вы должны понимать азы коммерческой деятельности , должны понимать что такое трудочас, как считается прибыль, и где вы столько денег заработаете компании.
    Если вы на эти вопросы легко ответите, то вас возьмут в любую компанию.
    Ответ написан
    6 комментариев
  • Почему появляется 404 ошибка в детальной Битрикс?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    Вот для битрикса.
    https://klondike-studio.ru/standards/standartnyy-h...
    Поставьте его если не сработает то ошибка в коде.
    или настройках сервера
    какая ОС используется, битрикс вм ?
    Ответ написан
    Комментировать
  • Welcome to nginx - как попасть на сайт?

    1. какая веб морда
    2. какие демоны еще
    3. конфиги apache
    4. 0.0.0.0 - че за айпи такой?
    Ответ написан
    Комментировать
  • Как правильно сделать 301 редирект для большого количества страниц?

    shambler81
    @shambler81 Куратор тега htaccess
    дайте хоть нескольо ссылок
    посколкьу в данный момент видна логика измения цифр на единицу выше и условие до 60, не уверен что вам нужно сдвинуть цифры на единицу
    а желательно дайте все урлы.
    И да порой приходится делать по 5К редиректов а не по 60
    Ответ написан
  • Почему в linux нерекомендуют постоянно использовать root учетную запись?

    shambler81
    @shambler81 Куратор тега Linux
    не имея доступа до критических файлов вы не можите.
    1. заразиться вирусом ( вот вообще не можете)
    2. Повредить по
    3. конфедициальность ос обеспечивает сама ос, вы просто привыкли к винде, это вообще нормально не работать от админа.
    Подумав над этим вы придете к мысли что это куда логичней чем работать от рута.
    Однако на серверах я работаю всегда от рута, посколкьу мне хватает и знания и опыти и понимания того что я и как делаю в полном объеме, и понимаю риски.
    Ответ написан
  • Не корректно работает rewriteRule в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine on
    RewriteBase /
    Options +FollowSymlinks
    AddDefaultCharset UTF-8
    ErrorDocument 404 /404.php
    
    
    ############################################################################
    #### Выбор основного зеркала (с www или без www)                        ####
    ############################################################################
       # 2. Добавить www
    RewriteCond %{ENV:HTTPS} on
        #Если включен https
    RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    RewriteCond %{REQUEST_URI} !^/robots.*
    	# ваш robots.txt
    RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{THE_REQUEST} //
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteCond %{QUERY_STRING} !http(s|)://
      # Убедимся что это не урл в  GET
    RewriteRule .* /$0 [R=301,L]
       # Исключаем все лишние слеши.
    
    ############################################################################
    #### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
    ############################################################################
    RewriteCond %{REQUEST_URI} \..+$
       # Если файл содержит точку.
    RewriteCond %{REQUEST_FILENAME} !-d
       # И это не директория.
    RewriteCond %{REQUEST_FILENAME} -f
       # Является файлом.
    RewriteCond %{REQUEST_URI} ^(.+)/$
       # И в конце URL есть слеш.
    RewriteRule ^(.+)/$ /$1 [R=301,L]
       # Исключить слеш.
    
    ############################################################################
    #### Добавляем слеш(/), если его нет, и это не файл.                    ####
    ############################################################################
    RewriteCond %{REQUEST_URI} !(.*)/$
       # Если слеша в конце нет.
    RewriteCond %{REQUEST_FILENAME} !-f
       # Не является файлом.
    RewriteCond %{REQUEST_URI} !\..+$
       # В URL нет точки (файл).
    RewriteCond %{REQUEST_URI} ^(.+)$
     # В URL есть хоть один символы
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    ############################################################################
    #### Компрессия статического контента для гугл  спид тест               ####
    ############################################################################
    <IfModule mod_deflate.c>
      AddType image/svg+xml .svg
      AddOutputFilterByType DEFLATE image/svg+xml  
      AddOutputFilterByType DEFLATE application/rss+xml
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
      AddOutputFilterByType DEFLATE application/x-font
      AddOutputFilterByType DEFLATE application/x-font-opentype
      AddOutputFilterByType DEFLATE application/x-font-otf
      AddOutputFilterByType DEFLATE application/x-font-truetype
      AddOutputFilterByType DEFLATE application/x-font-ttf
      AddOutputFilterByType DEFLATE application/x-javascript
      AddOutputFilterByType DEFLATE application/xhtml+xml
      AddOutputFilterByType DEFLATE application/xml
      AddOutputFilterByType DEFLATE font/opentype
      AddOutputFilterByType DEFLATE font/otf
      AddOutputFilterByType DEFLATE font/ttf
      AddOutputFilterByType DEFLATE image/svg+xml
      AddOutputFilterByType DEFLATE image/x-icon
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/javascript
      AddOutputFilterByType DEFLATE text/plain
      AddOutputFilterByType DEFLATE text/xml
      AddOutputFilterByType DEFLATE image/svg+xml
    </IfModule>
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 1 year"
      ExpiresByType image/svg "access plus 1 year"
      ExpiresByType image/gif "access plus 1 year"
      ExpiresByType image/png "access plus 1 year"
      ExpiresByType text/javascript "access plus 1 year"
      ExpiresByType text/css "access plus 1 year"
      ExpiresByType application/javascript "access plus 1 year"
      ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
      ExpiresByType application/x-font-ttf "access plus 1 year"
      ExpiresByType application/x-font-opentype "access plus 1 year"
      ExpiresByType application/x-font-woff "access plus 1 year"
      ExpiresByType image/svg+xml "access plus 1 year"
    </IfModule>
      <IfModule mod_headers.c>
      <filesmatch "\.(ico|flv|jpg|jpeg|webp|png|gif|css|swf)$">
      	Header set Cache-Control "max-age=31536000, public"
      </filesmatch>
      <filesmatch "\.(html|htm)$">
      	Header set Cache-Control "max-age=7200, private, must-revalidate"
      </filesmatch>
      <filesmatch "\.(pdf)$">
      	Header set Cache-Control "max-age=86400, public"
      </filesmatch>
      <filesmatch "\.(js|otf|ttf|woff|woff2)$">
      	Header set Cache-Control "max-age=31536000, private"
      </filesmatch>
      </IfModule>
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    
    RewriteRule ^([^/.]*)/?$             	      index.php\?la\=$1 [QSA,L]
    RewriteRule ^(.*)/(.*)/?$                     index.php\?la\=$1&url\=$2 [QSA,L] #/ru/forecast/
    RewriteRule ^(.*)/(.*)/(.*)/?$                index.php\?la\=$1&url\=$2&country\=$3 [QSA,L] #/ru/forecast/Russia/
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/?$           index.php\?la\=$1&url\=$2&country\=$3&region\=$4 [QSA,L] #/ru/forecast/Russia/Murmansk
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/?$      index.php\?la\=$1&url\=$2&country\=$3&region\=$4&city\=$5 [QSA,L] #/ru/forecast/Russia/Murmansk/Apatity
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/?$ index.php\?la\=$1&url\=$2&country\=$3&region\=$4&city\=$5&dop\=$6 [QSA,L] #/ru/forecast/Russia/Murmansk/Apatity/10days - <b>ЗДЕСЬ ПРОБЛЕМА!!!</b>
    
    #########RewriteCond %{THE_REQUEST}  !images
    ########RewriteCond %{THE_REQUEST}  !tr
    ######## А где рул !!!

    Я тут подправил некоторые пункты, так что можешь посмотреть.
    теперь что по поводу твоей пролемы, тут все просто, у тебя частные случаи срабатывают позней общих.
    А в .* у тебя включиться может и / так что это удовлетворяет условию
    если ты хочешь их исключить то пожалуйста вставь в каждую группу [^/] - исключить символ
    ну или попробуй просто поменять местами. как я тебе показал, возможно этого вполне хватит поскольку .htaccess читается с верух в низ. и правила применяются вначале сверху потом снизу ( если до него дойдет)
    Ответ написан
    1 комментарий
  • Существуют ли адекватные сторейдж сервиcы (клауды) для хранения бэкапов?

    Как всегда у них цены самые низкие, да и тарифы вкусные
    https://ru.hetzner.com/hosting/produktmatrix/stora...
    Из цены убрать еще 20% НДС, вернут
    Ответ написан
    1 комментарий
  • Как вывесить локальный ресурс в интернет?

    что-то вроде этого ?
    https://github.com/fireshaper/MostlySecureCameraViewer
    Ответ написан
    Комментировать
  • Как определить свободное место на диске Ubuntu?

    shambler81
    @shambler81 Куратор тега Linux
    df выдает данные в байтах
    Ответ написан
    Комментировать
  • С чем связана ошибка в битрикс?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    Allowed memory size

    По моему тут написана проблема, какие миллионы вариантов?
    Ответ написан
    Комментировать
  • Можно ли разместить на одном хостинге (ip) три сайта и как это будет влиять на ранжирование?

    Нормально это будет выглядеть, все хостинги именно так и размещают.
    Все там нормально будет с SEO не парьтесь
    Все веб сервера имеют один и тот же костыль не по RFC tcp\ip
    они могут держать несколько сайтов на одном и том же порту на том же айпи.
    Сделано это как вы понимаете для уменьшения количества используемых айпи и используется в 100% веб серверов.
    Да при использование одного айпи могут быть проблемы, например со спамностью писем всего айпи, но сами сайты и их позиции в интернете это не влияет..
    Ответ написан
    Комментировать