Задать вопрос
  • Практика для сисадмина?

    shambler81
    @shambler81 Куратор тега Linux
    centos debian
    собственно этого хватит
    Можешь поколупать для расширения кругозора экзотику
    pfsense thinstation и тд но это именно для саморазвития.
    При администрирование серверов не особо влияет сама ос, ты поймешь что разница между всеми юникс подобынми системами нечтожна, по факту все сводится к администрированию самх демонов.
    А вот что именно тебе интересно администировать тут нужно понять что хвататься за все лучше не стоит
    Если тебе больше нравятся сети то точно учи TCP/IP - хотя их вообще полезно занть
    Соответственно фаерволы и прокси и тд и тп
    bash в любом случае нужен, а именно stdin stdout stderr -понимать как между ними передавать потоки. sed find awk cut wc df du очень полезно будет.

    Если веб
    то apache+nginx+mysql и тд желательно начинать с готовых решений типо ispconfig3 поставишь пару раз так и в голове уляжется немного.
    В общем вначале определись с направлением.
    А то пока это "я хочу стать компьютерщиком, что мне почитать"
    Ответ написан
    Комментировать
  • С чем связаны такие ошибки SPF?

    А саму запись то можно ?
    Желательно вообще все
    Ответ написан
    3 комментария
  • Можно ли скрыть колонку таблицы при маленьком разрешении экрана?

    да но я лично делаю это достаточно просто
    делаю td на сол 12
    со всеми стилями и тд для таблицы с ховерами хуеверами и тд.
    А внутри вмето тд дивы с колами.
    Это позволяет одновременно получить все рабочие стили таблиц и это таблица, но внутри адаптив на бутстрапе
    что позволяет не только скрыавть колонки но и разваливать их при разных разрешениях на разные уровни.
    без js и кастома бутстрапа.
    Ответ написан
    Комментировать
  • Как массово сгенерировать ссылки?

    ээээ а зачем их вообще генерировать?
    этим заниматься должно ЧПУ, че велосипед то выдумывать?
    Если вам нужны редиректы то в таком количестве можно и по маске сделать.
    Опишите более подробно задачу что и зачем вы делаете.
    Ответ написан
  • Настройка Nginx proxy SSL?

    во всех манах в интернете есть ошибка по поводу проксирования HTTPS трафика на HTTP бэкэнда это не правильно и работать валидно на 100% никогда не будет, с той стороны есть js ajax и тд и тп которые не знают и не слышили о прокси по этому и бэк и фронт должны быть https
    Вот рабочий конфиг
    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;
                    }
    }



    Далее повторяем уже для http
    Ответ написан
    Комментировать
  • Html/css + flexbox или bootstrap4 для заказчика?

    бутстрап однозначно.
    Стоимость владения сайтом порой в десятки раз больше а то и сотни чем сама разработка.
    Бутстрап позволяет ее снизить.
    да 1 вариант получается и быстрей и если руки не из.. то и качество тоже неплохое.
    Но бутстрап позволяет
    1. даже не знать о тысячах мелких косяков которые вы забыли при собственой верстке.
    2. Стоимость владения вырастает поскольку бутстрапу можно обучить и обезьяну, в частности менеджера и контент менеджера, а вот флексы это точно верстак на любые правки.
    3. Стандартизация проектов, всегда приводила у увеличению объемов и пропорционально увеличению кода.
    не-было бы этого баланса, все бы писали в бинарном коде, до сих пор.
    А че максимально быстро, но рынок требует увеличение объемов по этому NET... :)
    И это при том что я признаю что 4 бутстрап сделал шаг не в ту сторону.
    Ответ написан
  • Как сделать перенаправление на папку в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_URI} ^admin-control/.* [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^.* admin/src/ [QSA,L]

    а вообще опишите для чего вы это делаете возможно решение уже есть.
    Ответ написан
  • Как перенаправить трафик https с сохранением IP клиента?

    shambler81
    @shambler81 Куратор тега Linux
    nginx в 60% используют не как отдельный веб сервер а как прокси на апач, там можно и заголовки менять и домны и урлы и все че хочеш.
    Ответ написан
    8 комментариев
  • Почему не происходит обновление 1с-битрикс?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    1. не все мобилки видят обновления в css - сайт может уже обновил давно а стили в вашем телефоне не обновляются, зайдите инкогнито или в другом браузере.
    2. ошибка кеша, как правило комплексные компоненты или сложная логика подводит,
    но не думаю что это оно
    3. html кеширование
    4. кеш статики nignx
    Ответ написан
    Комментировать
  • Как показать 404 страницу без редиректа сразу если ее нет?

    shambler81
    @shambler81 Куратор тега htaccess
    нет смысла так делать, htaccess очень специфичекая штука и подзапрос будет очень сильно его тормозить.
    во вторых еще раз, уже не знаю какой раз.
    И яндекс и гугл смотрят только на последний код, всю цепочку они пропускают.
    так что если это будет 301 301 301 404 то это 404
    а как исключить файл из индекса это отдельная история тут более чем хватает инструментария.
    я уже если честно устал
    вот с этой шляпой бороться
    RewriteCond %{THE_REQUEST} /index\.php [OR]
    RewriteCond %{HTTPS}       !on         [OR]
    RewriteCond %{HTTP_HOST}   ^www\.      [NC]
    RewriteRule ^(.*?)(index\.php|$) https://localhost/$1 [R=301,L]

    не выдумывайте велосипед и геморой себе на одно место.
    Ответ написан
  • Какие бы вы задавали вопросы начинающему Linux-администратору на собеседовании?

    shambler81
    @shambler81 Куратор тега Linux
    find awk sed grep
    stdin stdout sdderr
    tcp/ip+ широковещялка
    Ответ написан
    Комментировать
  • Какая будет команда в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^(.+?)\.html(?!/amp/).+$ https://%{HTTP_HOST}/$1.html [L,R=301]

    замени на
    RewriteRule ^(.+?)\.html(?!/amp/).+$ https://%{HTTP_HOST}/$1.html? [L,R=301]

    Удалится GET
    А вообще в RewriteRule не входит GET поскольку он не является частью урла!
    а вот так работают с GET
    # 301 --- http://www.test.com/faq.html?faq=13&layout=bob => http://www.test2.com/faqs.html
    RewriteCond %{HTTP_HOST} ^www\.test\.com$
    RewriteCond %{QUERY_STRING} (^|&)faq\=13($|&)
    RewriteCond %{QUERY_STRING} (^|&)layout\=bob($|&)
    RewriteRule ^faq\.html$ http://www.test2.com/faqs.html? [L,R=301]
    Ответ написан
    Комментировать
  • Слеши на конце в joomla?

    shambler81
    @shambler81 Куратор тега htaccess
    стапе
    конкретно что ты хочешь сделать ?
    избавиться от двойных слешей?
    весь файл в студию
    Ответ написан
    Комментировать
  • Битрикс - mysql ест память, как исправить?

    shambler81
    @shambler81 Куратор тега Linux
    то что сиквел ест память это нормально
    он ее отъедает специально для работы, По факту он ее резервирует, тут ничего страшного нет.
    Смотрите на сайт, скорее всего вам нужно поработать с кешем сайта
    Ответ написан
    Комментировать
  • Как настроить редирект с http на https?

    shambler81
    @shambler81 Куратор тега htaccess
    IfModule mod_rewrite.c можно не писать поскольку он по умолчанию включен.
    так же не забывай что он должен стоять до чпу сайта, дай весь файл.
    на некоторых серверах по разному отлавливается редирект
    где-то работает
    RewriteCond %{HTTPS} off
    где-то
    RewriteCond %{HTTPS} !on
    в общем просто подбери редирект подходящий твоему серверу.
    их штук 30
    На хабре тоже есть.
    Вот пример
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]


    Как настроить редирект на https в.htaccess?
    Ответ написан
  • Как изменить название url с помощью htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    1. домен регистронезависим не майтесь БубУйнеЙ
    2. Файлы и директории наоборот РегисТРОЗависИмЫе и их тоже нельзя менять вот так ;), это вам не винда.
    3. Если у вас сайт на ЧПУ то они тоже как правило регистрозависимые, если же ЧПУ ваше легко относится к таким фортелям, то в нем и делайте вот это убожетво.
    4. Зачем карл?
    5. редирект с html на без него вы найдете с легкостью, все что вам нужно будет это добавить flag [NC], если вам прям так уж прикипело, в таком случае редиректы будут регистронезависимые.
    Ответ написан
    Комментировать
  • Как сформировать htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    находится в гугле
    https://stackoverflow.com/questions/9856951/exclud...
    другое решение
    https://stackoverflow.com/questions/8697706/exclud...
    как минимум знаю еще одно
    должно сработать через
    <Directory /var/www/site.ru/directory1>
                    ........
       </Directory>
    Ответ написан
    Комментировать
  • Как правильно прописать редиректы в htaccess без их цепочки?

    shambler81
    @shambler81 Куратор тега htaccess
    1. гугл и я ндекс легко понимает последовательность редиректов.
    2. че это за шляпа у вас?#
    # Uppercase to lowercase conversion plug-in (This section, along with the first noted rule above, 
    # may be removed if not needed or wanted) Skip next 28 rules if no uppercase letters in URL
    RewriteCond %{ENV:myURI} ![A-Z]
    RewriteRule .? - [S=28]
    # Else swap them out, one at a time
    RewriteCond %{ENV:myURI} ^([^A]*)A(.*)$
    RewriteRule . - [E=myURI:%1a%2]
    RewriteCond %{ENV:myURI} ^([^B]*)B(.*)$
    RewriteRule . - [E=myURI:%1b%2]
    RewriteCond %{ENV:myURI} ^([^C]*)C(.*)$
    RewriteRule . - [E=myURI:%1c%2]
    RewriteCond %{ENV:myURI} ^([^D]*)D(.*)$
    RewriteRule . - [E=myURI:%1d%2]
    RewriteCond %{ENV:myURI} ^([^E]*)E(.*)$
    RewriteRule . - [E=myURI:%1e%2]
    ....

    Какой-то идиот предложил это делать и все делают, че за стадное желание.
    Вы понимаете что линукс регистрозависимая ОС?
    это не винда, тут так делать НЕЛЬЗЯ !
    Ответ написан