Архив рубрики: Публикации

Как отключить или включить режим чтения в браузере Chrome в Windows 10

Функция « Режим чтения» теперь доступна в настольной версии браузера Chrome . Используя эту функцию, вы можете избавиться от веб-отвлекающих факторов и ненужных всплывающих окон, которые затрудняют чтение некоторых веб-страниц. Хотя эта функция по умолчанию скрыта и имеет новое имя, т.е. режим Distill . В этом руководстве мы объяснили два способа отключения или включения режима чтения в Chrome.

Включить или отключить режим чтения в Chrome

Ранее в Chrome появился режим чтения для Android. После этого компания планировала развернуть аналогичную поддержку и для Windows 10. Чтобы попробовать, следуйте советам:

  1. Через настройки
  2. Использование флага

Давайте узнаем оба метода в подробном виде.

1] Через настройки

Чтобы включить или отключить режим чтения через Настройки, следуйте приведенным ниже инструкциям:

  1. Обновите Google Chrome до последней версии.
  2. Откройте диалоговое окно «Свойства Google Chrome».
  3. Включите режим чтения, добавив команды в поле «Цель».
  4. Отключите режим чтения, удалив команду из поля «Цель».

Давайте посмотрим на них в деталях:

Прежде чем начать процесс, сначала необходимо проверить, установлена ​​ли последняя версия Google Chrome. Если доступно какое-либо обновление, загрузите и установите его. После завершения процесса нажмите кнопку «Перезапустить», чтобы изменения вступили в силу.

После обновления браузера Chrome до последней версии убедитесь, что вы прикрепили значок Chrome к панели задач.

После этого щелкните правой кнопкой мыши значок Chrome. В списке параметров снова щелкните правой кнопкой мыши «Google Chrome», а затем нажмите кнопку «Свойства», как показано на снимке ниже.

При нажатии кнопки «Свойства» открывается диалоговое окно «Свойства Google Chrome».

На вкладке «Ярлык» рядом с полем «Цель» указан путь к файлу EXE для приложения Chrome. Добавьте следующую фразу в конец текста:

--enable-dom-distiller

После добавления нажмите Применить, а затем кнопку ОК, чтобы сохранить изменения.

Вот и все, флаг теперь активирован. Чтобы использовать эту функцию, нажмите на три точки, а затем выберите опцию Distill page из списка меню. Он начнет отображать текущую веб-страницу в режиме чтения без каких-либо отвлекающих объявлений или других элементов страницы.

Чтобы отключить эту функцию, откройте окно «Свойства» браузера Chrome. Затем удалите добавленную фразу из поля «Цель» на вкладке «Ярлык».

Как только вы отключите режим чтения, вы увидите, что опция Distill page также удаляется из списка меню (трехточечная линия) браузера.

2] Используйте флаг, чтобы отключить или включить режим чтения в Chrome

Чтобы включить режим чтения с помощью флажка, следуйте приведенным ниже рекомендациям.

Откройте браузер Chrome и введите указанную ниже ссылку в адресную строку.

chrome://flags/#enable-reader-mode

Нажмите клавишу Enter, чтобы открыть страницу флага напрямую.

В списке доступных флагов вы можете четко заметить флаг «Включить режим чтения», выделенный желтым цветом.

Выберите раскрывающееся меню и установите флажок «Включено» в параметре «Отключено». После этого нажмите кнопку «Перезапустить», чтобы изменения вступили в силу.

Таким же образом, вы можете снова отключить флаг, если вы передумали и хотите их вернуть.

Соответственно, чтобы отключить режим чтения, откройте страницу флага и выберите раскрывающееся меню рядом с параметром «Включить режим чтения».

После этого установите флажок «Отключить» или «По умолчанию», а затем нажмите кнопку «Перезапустить», чтобы изменения вступили в силу.

Я надеюсь, что это руководство окажется для вас полезным, и теперь вы наслаждаетесь средой Reader Mode в Chrome без отвлекающих факторов и беспорядка.



2020-06-03T08:57:54
Вопросы читателей

Microsoft признала проблемы при обновлении Windows



























Rate this post

Компания Microsoft признала проблемы с выходом свежего обновления для Windows 10. И рассказала о возможных последствиях обновления. На официальном сайте компании опубликован список обнаруженных в ходе бета-тестирования проблем.

Инженеры Microsoft рекомендовали пользователям не устанавливать версию 2004 обновления Windows. Причиной этому стали возникновение критических ошибок и нестабильная работа компьютеров. На данный момент известны 10 критичных ошибок, которые могут возникнуть после установки обновления.

В частности, новая версия Windows может блокировать одновременную работу двух и более подключенных по Bluetooth устройств. Также обновление не работает с аудио драйверами Conexant ISST от Synaptics. Поэтому Microsoft заблокировала загрузку версии 2004 на некоторые ПК. А у пользователей внешних SSD-накопителей, которые работают через порт Thunderbolt, могут появляться “синие экраны смерти” (BSOD) при подключении.

Кроме этого, “синий экран смерти” может появляться на компьютерах, которые работают с видеокартами Nvidia. Но только, если используют старые драйверы. А на устройствах, поддерживающих функцию Always Connected, возможны проблемы с сетевым подключением. Вплоть до неожиданной перезагрузки девайсов.

Распространение обновления 2004 началось 27 мая. На текущем этапе его можно установить только вручную. Microsoft уточнила, что актуальная версия Windows 10 в течение 15 месяцев тестировалась группой бета-тестеров Windows Insiders. А также сообщила, что уже ведёт работу над решением проблем. И не рекомендует обновляться самостоятельно.

Ранее стало известно, что осеннее обновление Windows 10 может разочаровать пользователей. По словам инсайдеров, ожидаются незначительные инновации, однако на глобальные изменения рассчитывать не стоит.


2020-06-01T11:41:57
Windows

Частные методы в Python

Понимание объектно-ориентированного программирования (ООП) имеет решающее значение, если вы хотите изучать Python.

Одним из аспектов ООП является изучение того, как определять и использовать частные методы.

В этой статье мы узнаем, как создавать частные методы, когда их использовать и почему они необходимы.

Внимание: это будет длинные углубленная статья о частных методах, но если вы только хотите знать, как определять собственные методы в Python, вот tl;dr.

tl;dr — Префикс имени вашего атрибута или метода с одним подчеркиванием. Однако следует помнить, что Python не поддерживает инкапсуляцию, поэтому на самом деле ничего не является приватным.

 

Что такое частные методы?

Закрытый метод — это метод класса, который можно вызывать только изнутри класса, в котором он определен.

Это означает, что вы не можете (и не должны) получать доступ или вызывать эти методы извне класса.

Они противоположны общедоступным методам, которые, как вы уже догадались, являются методами, к которым можно получить доступ как внутри класса, так и за его пределами.

Давайте рассмотрим простой пример частного метода на языке программирования, отличном от Python, скажем, Java. (Вы поймете, почему, позже)

class Hello {

  private void printHello() {

    System.out.println("Привет мир");

  }

}

 

В Java ключевое слово private используется для объявления частного метода. Итак, в этом примере мы определяем закрытый метод с именем printHello () в классе Hello.

Если вы попытаетесь вызвать этот метод извне класса, он просто не будет работать.

class Hello { 

  private void printHello() { 

    System.out.println("Привет мир");

  } 

}



public class HelloWorld{

  public static void main(String []args){

    Hello h = new Hello();

    h.printHello();

  }

}

 

Если вы выполните приведенный выше код, вы получите самоочевидное сообщение об ошибке компиляции.

$javac HelloWorld.java

error: printHello() has private access in Hello

  h.printHello();

   ^

1 error

 

Однако вы все равно можете получить доступ к закрытому методу из класса. Давайте определим новый публичный метод, который обращается к нашему приватному методу внутри.

class Hello {

  public void print() {

    printHello();

  }

  private void printHello() { 

    System.out.println("Привет мир");

  } 

}



public class HelloWorld{

  public static void main(String []args){

    Hello h = new Hello();

    h.print();

  }

}

 

Теперь, если вы запустите вышеупомянутую программу, вы не получите никаких ошибок, и вы получите строку «Привет мир», напечатанную на экране.

Обратите внимание, что частный метод printHello() лишь вызывается из внутрикласса и основной программы только называется публичным методом print().

Ну, это круто и все. Вы, наверное, уже знали это. Главный вопрос: зачем нам частные методы? и когда мы должны их использовать?

 

Когда вы должны использовать частные методы?

Прежде всего, помните, что инкапсуляция является одним из принципов объектно-ориентированного программирования (ООП).

Но что такое инкапсуляция на самом деле?

В объектно-ориентированном программировании инкапсуляция означает скрытие внутренней реализации объекта от внешнего мира.

Это означает, что единственный способ взаимодействия с объектом — через четко определенный интерфейс объекта.

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

Например, представьте объект, представляющий автомобиль, простой автомобиль, который позволяет вам только управлять им drive(), нажимая на педаль газа, или останавливать stop(), нажимая на тормоза.

В этом случае мы говорим, что drive() и stop() — это интерфейсы между вами (пользователем автомобиля) и экземпляром автомобиля.

Вам не нужно беспокоиться о том, как машина на самом деле движется или останавливается. Это не ваша проблема. Это то, что заботит конструктора автомобиля. Для вас все, что вы хотите сделать, это либо водить, либо останавливать машину.

Это круто и все, но давайте не будем сейчас говорить об автомобилях и говорить о программном обеспечении.

Давайте ответим на эти два вопроса.

Первое: мы упомянули, что инкапсуляция скрывает реализацию объекта от внешнего мира. Что такое внешний мир?

Внешний мир — это в основном другие разработчики, которые будут использовать проектируемый вами класс (это может быть вы).

Это НЕ конечный пользователь, который будет использовать ваш двоичный файл (у них будет либо пользовательский интерфейс, либо интерфейс командной строки), но инкапсуляция (по крайней мере, в мире ООП) касается потребителей разработчиков.

Второе: почему инкапсуляция полезна? Почему это имеет значение?

Отличный вопрос давайте вернемся к примеру с автомобилем, который мы объяснили ранее.

Представьте, что вы хотите заменить двигатель вашего автомобиля на новый, более мощный двигатель.

Нужно ли вам (пользователю автомобиля) узнавать что-то новое, чтобы иметь возможность управлять автомобилем после замены двигателя?

Точно нет. Тем не менее, все, что вам нужно сделать, это нажать на педаль газа, и машина будет двигаться.

Эта абстракция очень важна для написания поддерживаемого кода.

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

Это потому, что, пока интерфейс не меняется, все хорошо. Ничего не ломается.

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

В объектно-ориентированном программировании вы определяете этот интерфейс, объявляя открытые атрибуты и методы (public).

И вы достигнете инкапсуляции, объявив закрытые атрибуты и методы (private).

С этим введением, теперь мы можем начать статью.

 

Атрибуты и методы в Python: обновление

Прежде чем перейти к закрытым методам и атрибутам, давайте начнем с простого примера.

Давайте построим базовый класс.

class MyClass:

  def __init__(self):

    self.var = 1



  def get_var(self):

    return self.var

 

В этом примере мы определили класс с именем MyClass.

Внутри этого класса в методе __init__ мы определили один атрибут var, который инициализируется значением 1, и метод get_var, который возвращает значение var.

Теперь давайте прочитаем, а затем изменим значение var.

>> my_object = MyClass() # Создайте экземпляр MyClass

>> my_object.var   # Вызвать атрибут “var”

1                  # Результат - “1”, как и ожидалось

>> my_object.get_var()

1

>> my_object.var = 2

>> my_object.var

2

>> my_object.get_var()

2

 

Как видите, мы легко изменили значение var с 1 на 2.

Мы смогли это сделать, потому что у нас есть ДОСТУП к атрибуту var  извне.

Но что, если мы хотим скрыть этот атрибут от внешних пользователей?

В следующем разделе я научу вас, как сделать этот атрибут приватным.

 

Определение личных атрибутов и методов (private) в Python

Чтобы определить частные атрибуты или методы в Python, вот что вам нужно сделать.

Просто добавьте к имени префикс с единственным подчеркиванием.

Это так просто.

Теперь давайте перепишем приведенный выше пример, чтобы сделать var и get_var приватными.

class MyClass:

  def __init__(self):

    self._var = 1

  def _get_var(self):

    return self._var

 

Круто. Теперь давайте посмотрим, что происходит, когда мы gjпытаемся получить доступ к этому приватному атрибуту.

>> my_object = MyClass()  # Создание экземпляра MyClass

>> my_object._var  # Чтение _var

1

>> my_object._get_var()

1

 

Хм, подожди! Как?

Мы думали, что мы не можем получить доступ к приватным атрибутам или приватным методам! Как это возможно?

В Python закрытый доступ к закрытым атрибутам (и методам) не применяется.

Поэтому, когда мы говорим, что атрибуты, начинающиеся с одного подчеркивания, являются «частными», это просто соглашение. Но это не соблюдается.

Python не поддерживает инкапсуляцию. Мы любим инкапсуляцию, но разработчики языка решили не поддерживать ее. Ну что ж.

Утверждение о том, что инкапсуляция не является обязательной, не означает, что вам следует обращаться к атрибутам и методам с префиксом подчеркивания.

Не делайте этого, потому что это не обязательно.

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

Обычно эта статья должна заканчиваться здесь. Тем не менее, есть еще одна вещь, о которой мне нужно поговорить, прежде чем эта статья будет полностью завершена.

Мы говорили о том, что происходит, когда вы добавляете имена методов и атрибутов к одному подчеркиванию, но я уверен, что вы видели имена с двумя начальными подчеркиваниями (и без завершающих подчеркиваний).

Что делают эти двойные ведущие подчеркивания?

 

Префикс с двойным подчеркиванием (искажение имени)

Давайте вернемся к нашему классу и определим наши var и get_var (), но на этот раз используя двойные подчеркивания вместо одного.

class MyClass:

  def __init__(self):

    self.__var = 1



  def __get_var(self):

    return self.__var

 

Теперь давайте посмотрим, что происходит, когда мы пытаемся получить доступ к __var, как и раньше.

>> my_object = MyClass()

>> my_object.__var



AttributeError: 'MyClass' object has no attribute '__var'

 

Кажется, что Python не может найти атрибут __var , хотя мы только что определили его в нашем классе.

Точно так же, если вы попытаетесь получить доступ к __get_var (), вы получите ту же ошибку.

>> my_object.__get_var()



AttributeError: 'MyClass' object has no attribute '__get_var'

 

В чем дело?

Одна вещь, которую мы могли бы сделать, чтобы исследовать происходящее, это напечатать содержимое dir (my_object)

dir() перечисляет все атрибуты (и методы), которые имеет объект

>> dir(my_object)

['_MyClass__get_var', '_MyClass__var',...]

 

Интересно! Похоже, что Python переименовал переменные __var и __get_var в _MyClass__var и _MyClass__get_var соответственно.

Такое поведение при изменении имен атрибутов или методов называется искажением имен.

Манглинг имен затрудняет доступ к переменным извне класса, но он все еще доступен через _MyClass__var.

>> my_object._MyClass__var = 3

>> my_object._MyClass__var

3

 

Точно так же вы можете получить доступ к __get_var с его искаженным именем _MyClass__get_var.

Другими словами, вне класса вам нужно будет использовать искаженное имя атрибута, но внутри класса вы все равно можете получить доступ к атрибуту обычным способом. (посмотрите, как мы получили доступ к __var изнутри __get_var () )

Стоит отметить, что некоторые разработчики ошибочно используют искажение имен для обозначения частных методов и атрибутов.

Это не правильно, поскольку это не то, для чего используется искажение имени.

Имя искажения в основном используется, когда вы унаследовали классы, но это уже другая история.

Что вы должны сделать, это то, что вы должны следовать соглашению и использовать единственное подчеркивание, чтобы обозначить что-то как личное.

 

Вывод

В заключение, Python не поддерживает инкапсуляцию. Вам по-прежнему следует ставить перед вашими личными атрибутами и методами один знак подчеркивания,  чтобы пользователи вашего класса знали, что им не следует напрямую обращаться к этим атрибутам. С другой стороны, если вы являетесь пользователем класса, не обращайтесь к атрибутам или методам, которые начинаются с начального подчеркивания.



2020-05-29T20:56:14
Python

Как изменить уровень контроля учетных записей (UAC) в Windows 10

Знаете ли вы, что вы можете изменить настройки контроля учетных записей (UAC) , чтобы изменить уровень безопасности в Windows 10? Хотя большинство пользователей практически не знают о его существовании, контроль учетных записей (UAC) в Windows 10 является основной функцией безопасности, которая предотвращает несанкционированные изменения приложений на вашем компьютере или устройстве. Прочтите это руководство, чтобы узнать, как изменить уровни уведомлений UAC и решить, как часто вы получаете «Хотите ли вы, чтобы это приложение могло вносить изменения в ваш ПК?» подскажите в Windows 10.

Перво-наперво: об управлении учетными записями пользователей в Windows 10

Контроль учетных записей (UAC) является частью системы безопасности Windows начиная с Windows Vista. Первоначально считается слишком раздражающим, но с тех пор был улучшен. В результате получается более спокойная версия UAC, с которой вы сталкиваетесь в Windows 10. Контроль учетных записей пользователей Windows 10 появляется, когда вы запускаете настольное приложение, для работы которого требуются разрешения администратора или меняются важные системные параметры, требующие одобрения администратора.

Задачи, для которых требуются права администратора и которые могут вызывать приглашение UAC, например «Запуск от имени администратора», отмечены желтым и синим значком защитного экрана.

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

Как получить доступ к настройкам контроля учетных записей в Windows 10

Чтобы изменить способ работы UAC , вам необходимо открыть окно «Настройки контроля учетных записей». Самый простой способ сделать это, набрав «uac» в поле поиска на панели задач. Затем нажмите или нажмите «Изменить настройки контроля учетных записей» или опцию «Открыть» справа.

Откроется окно «Настройки контроля учетных записей», которое можно использовать для изменения уровня безопасности в Windows 10.

Вы можете попасть в то же место, открыв Панель управления и открыв: «Система и безопасность -> Безопасность и обслуживание -> Изменить настройки контроля учетных записей».

Какой уровень уведомлений UAC используется по умолчанию?

«User Account Settings Control» окно имеет только один слайдер, и вы можете использовать его для настройки «когда получать уведомления об изменениях в своем компьютере». По умолчанию для Windows 10 Контроль учетных записей устанавливается на «Уведомить меня только тогда, когда приложения пытаются внести изменения в мой компьютер» уровень безопасности.

Все еще безопасный, хотя и не самый строгий вариант, который вы можете использовать, выбор этого уровня безопасности по умолчанию гарантирует, что UAC уведомит вас только до того, как программы внесут изменения, требующие административных разрешений. Если вы вручную внесете изменения в Windows, вы не получите приглашение UAC.

Поскольку UAC появляется только в том случае, если приложение или файл хочет внести изменения, этот параметр менее раздражает и менее безопасен, чем верхний и самый строгий уровень безопасности, «Всегда уведомлять», что также вызывает вмешательство UAC для подтверждения действий пользователя.

Как изменить уровень контроля учетных записей в Windows 10

На ползунке в окне «Настройки контроля учетных записей» доступны четыре параметра. Чтобы изменить уровень безопасности, предоставляемый UAC в Windows 10, просто переместите ползунок в соответствующую позицию, щелкнув или нажав на нужный уровень. Вы также можете щелкнуть или нажать на ползунок и перетащить его на параметр, который вы хотите использовать.

Проверьте панель справа для краткого описания того, как каждый параметр влияет на ваши уведомления безопасности Windows 10. Мы подробно рассмотрели различия между четырьмя уровнями безопасности в разделе «Что такое UAC (контроль учетных записей)» и почему вы никогда не должны его отключать. Сделайте свой выбор, а затем нажмите OK.

Вы можете получить запрос контроля учетной записи пользователя с просьбой подтвердить это изменение.

ВАЖНО: Вам необходимо перезагрузить компьютер или устройство с Windows 10, прежде чем будут применены новые настройки контроля учетных записей.

Отключить UAC или Какой уровень UAC обеспечивает самый низкий уровень безопасности?

Если вы перешли наше руководство, настаивая на том, чтобы не отключать UAC, и все еще решили его отключить, переместите ползунок в нижнюю опцию Никогда не уведомлять , самый низкий уровень безопасности. Это отключает контроль учетных записей , что позволяет вредоносным программам заражать и контролировать компьютер или устройство под управлением Windows 10. С другой стороны, надоедливые уведомления прекращаются, так как все приложения могут делать все, что пожелают, без вашего разрешения.

Какой уровень UAC вы используете и почему?

В то время как многие находят уведомления раздражающими, контроль учетных записей пользователей Windows 10 важен для безопасности вашей системы. Мы всегда поддерживаем UAC на рекомендованном (по умолчанию) уровне, чтобы предотвратить нежелательное вредоносное ПО. А как насчет вас? Вы повысили или понизили уровень безопасности? Прежде чем закрыть это руководство, не стесняйтесь поделиться с нами тем, какой уровень UAC вы используете в настоящее время и почему, в комментариях ниже.



2020-05-29T10:48:24
Вопросы читателей

Настраиваем HTTP заголовки WEB-сервера Nginx

Сегодня в статье поговорим как Настроить HTTP заголовки WEB-сервера Nginx и обезопасить ваш сервер от различных атак.




HTTP заголовки WEB-сервера Nginx




Для начала давайте откроем конфигурационный файл WEB сервера Nginx




sudo nano /etc/nginx/nginx.conf




Найдите раздел HTTP, в этом разделе определяются конфигурации для HttpCoreModule Nginx. Добавьте следующую директиву: 




server_tokens off;




Это запретит Nginx отправлять номера версий в заголовке HTTP.




Перезагрузите конфигурацию Nginx Чтобы применить это изменение:




sudo service nginx reload




X-XSS-Protection




Заголовок X-XSS-Protection может предотвратить некоторые XSS-атаки («межсайтовый скриптинг»), он совместим с IE 8+, Chrome, Opera, Safari и Android.




Добавьте следующее в nginx.conf в разделе HTTP:




add_header X-XSS-Protection "1; mode=block";




X-Frame-Options




Заголовок X-Frame-Options позволяет снизить уязвимость вашего сайта для кликджекинг-атак. Этот заголовок служит инструкцией для браузера не загружать вашу страницу в frame/iframe. Не все браузеры поддерживают этот вариант, так что проверьте заголовок на совместимость перед тем, как его добавлять.




Добавьте следующее в nginx в директиве Server обычно она находится в конфигурационном файле сайта:




add_header X-Frame-Options “DENY”;




X-Content-Type-Options




Можно предотвратить атаки с использованием подмены MIME типов, добавив этот заголовок ответа HTTP. Заголовок содержит инструкции по определению типа файла и не допускает сниффинг контента. При конфигурации потребуется добавить только один параметр: “nosniff”.




Добавьте следующую строку в файл nginx в директиве Server:




add_header X-Content-Type-Options nosniff;




Content Security Policy




Чтобы предотвратить XSS-атаки, кликджекинг, внедрение кода, можно добавить заголовок ответа Content Security Policy (CSP). CSP содержит инструкции о загрузке контента из разрешенных источников.




Добавьте следующее в секцию Server в файле nginx.conf:




add_header Content-Security-Policy "default-src 'self';";




Если после внесения данной директивы сайт стал отображаться не правильно, то вам необходимо :




РНР




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




sudo nano /etc/php/7.4/fpm/php.ini




Найдите ключевое слово expose_php и установите его значение в Off:




 expose_php = off




Если вы используете PHP как FPM, то вам нужно будет перезагрузить PHP-FPM: 




sudo service php-fpm reload




После перезагрузки заголовок ответа X-Powered-By: PHP/7.4 должен отсутствовать




Если не помогло, то прописываем в nginx.conf следующее




proxy_hide_header X-Powered-By;
# или
#more_clear_headers 'X-Powered-By';



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2020-05-29T08:00:22
Nginx

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

Сегодня в статье поговорим Как узнать и поменять значение MTU в Linux/Ubuntu/Debian.




MTUmaximum transmission unit – максимальный размер пакет или фрейма в байтах, который может быть отправлен единовременно без фрагментации.




Узнать значение и поменять MTU в Linux




Узнать значение MTU для всех интерфейсов можно выполнив в консоли команду ip link




ip link | grep mtu




1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000




Чаще всего встречается 1500 — это значение по умолчанию для Ethernet интерфейсов.




Поменять MTU на сервере с Ubuntu/Debian можно так:




sudo ip link set dev eth0 mtu 1400




или так для старых систем:




sudo ifconfig eth0 mtu 1400




После данной команды начинает использоваться значение 1400, а вот после перезагрузки это значение MTU сбросится в дефолтное




Для постоянной смены MTU в Ubuntu




Открываем настройку сетевых интерфейсов:




sudo nano /etc/network/interfaces




К нужному адаптеру добавляем строчку со значением MTU. Вот пример настройки:




auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.5.5.2
netmask 255.255.255.0
gateway 10.5.5.1
mtu 1400




Перезапускаем сеть:




systemctl restart networking




Значение теперь будет применяться даже после перезагрузки.




Меняем значение MTU при помощи Netplan




Вот еще один пример как можно сменить значение MTU, но уже через утилиту Netplan на Ubuntu 18.04/20.04




network:
    ethernets:
        ens3:
            mtu: 1400
            addresses:
            - 198.18.12.15/24
            - 2a01:d0:c353:183::15/64
            dhcp4: false
            gateway4: 198.18.12.1
            gateway6: 2a01:d0:c353:183::1
            nameservers:
                addresses:
                - 198.18.12.3
                - 2a01:d0:c353:183::3
                search: []
    version: 2



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2020-05-28T08:33:30
Network