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

Редирект с http на https Nginx

Как и большая часть сайтов интернета, которые следуют современным тенденциям losst.pro использует безопасный протокол связи https. Многим сайтам при переходе на https необходимо, чтобы весь трафик, который приходит на порт http автоматически перенаправлялся на https.

Это необходимо из соображений SEO оптимизации, а также безопасности пользователей, чтобы никто не мог разорвать защищенное соединение. В этой статье мы рассмотрим как настроить редирект с http на https Nginx.

Редирект с http на https Nginx

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

В конфигурационном файле Nginx должно быть две секции server, для сайта на https и сайта http. В секции http вы просто перенаправляете все запросы на https c помощью инструкции return, а во второй секции уже все обрабатываете. Например, первая секция:

server {

server_name losst.pro www.losst.pro;

charset off;

index index.php;

ssi on;

return 301 https://$host:443$request_uri;

set $root_path /var/www/losst/data/www/losst.pro;

root $root_path;

listen :80 default_server;

...

}

Вторая секция уже с обработкой SSL слушает запросы на 443 порту:

server {

server_name losst.pro www.losst.pro;

ssl on;

ssl_certificate "/var/www/losst/losst.pro_le2.crtca";

ssl_certificate_key "/var/www/losst/losst.pro_le2.key";

ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;

ssl_prefer_server_ciphers on;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

add_header Strict-Transport-Security "max-age=31536000;";

charset off;

index index.php;

set $root_path /var/www/losst/data/www/losst.pro;

root $root_path;

listen :443 default_server;

...

}

Собственно, синтаксис тут очень прост, инструкция return позволяет возвращать необходимые коды ответа сервера. Здесь же мы возвращаем код 301, постоянный редирект, а также URL, на который собираемся перенаправить пользователя. Кроме директивы return, можно использовать инструкцию rewrite, с помощью нее выполняются точно те же действия:

rewrite ^/(.*)$ https://losst.com/$1 permanent;

Это обычный синтаксис регулярных выражений. В первом аргументе мы выделяем группу строки запроса, а во второй указываем правильный домен. Ее можно добавить вместо return 301. Также можно использовать такую конструкцию без отдельного блока server:

if ($host ~* ^(losst.ru|www.losst.ru)$ ){

rewrite ^/(.*)$ https://losst.pro/$1 permanent;

}

Теперь осталось протестировать то, что получилось. Сохраните файл и проверьте конфигурацию nginx:

sudo nginx -t

Затем, если все хорошо, перезапустите Nginx:

sudo systemctl restart nginx

Далее можно проверить какой ответ сервера вы получите с помощью curl:

curl -I losst.pro

Или позволим утилите проследовать полный путь по перенаправлению:

curl ILa losst.pro

Выводы

Настроить редирект на https nginx достаточно просто, фактически, все выполняется добавлением одной строки в конфигурационный файл, все остальное — дополнительные параметры. Редирект с https на http nginx будет выполняться так же. Только нужно будет изменить несколько букв в параметрах retrun. Не забывайте проверять правильно ли настроены редиректы с www и на https, это играет очень важную роль для SEO. Надеюсь, эта информация была полезной для вас.



2017-06-27T18:20:47
Сервер

Как изменить версию php в консоли

Если у вас установлено несколько версий php в системе, то при вызове команды php в консоли, будет использоваться одна из них. Иногда необходимо для каких-то скриптов или сервисов управлять версией php в консоли. Я расскажу, как ее изменить.

 

Читать →

Программирование на Go

Несмотря на то что Go — это еще очень молодой язык, он уже используется во многих очень важных системах интернета и его область применения будет расти. Поэтому изучение программирования на Go — это одна из лучших инвестиций для программиста на данный момент. В этой статье мы сделаем небольшое введение в программирование на Go. Читать →

Как создать защищенную паролем папку в Windows без дополнительного программного обеспечения

В данным момент любой знает функцию скрытия файлов в Windows.

Однако, этот способ не является надежным в виду того, что опять же каждый знает, что можно воспользоваться одним щелчком мыши рядом с опцией ” show hidden files “. Поэтому этот способ не считается защищенным.

Сегодняшний пост- все о том, как создать защищенную паролем папку в Windows и скрыть ее от других.

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

Есть огромный список программного обеспечения, которое может решить эту задачу, но можно это сделать не прибегая с стороннему ПО, а с помощью батника [.bat файл].

Шаг: 1 – Изменения настроек Windows

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

Переходим – панель управления -> вид -> показывать скрытые папки, файлы и диски.

Шаг: 2 – Создаем защищенную паролем папку

Просто копируем содержание ниже в блокнот.



<pre>cls

 @ECHO OFF

 title Folder Private

 if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK

 if NOT EXIST Private goto MDLOCKER

 :CONFIRM

 echo Are you sure you want to lock the folder(Y/N)

 set/p "cho=>"

 if %cho%==Y goto LOCK

 if %cho%==y goto LOCK

 if %cho%==n goto END

 if %cho%==N goto END

 echo Invalid choice.

 goto CONFIRM

 :LOCK

 ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"

 attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"

 echo Folder locked

 goto End

 :UNLOCK

 echo Enter password to unlock folder

 set/p "pass=>"

 if NOT %pass%== your password goto FAIL

 attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"

 ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private

 echo Folder Unlocked successfully

 goto End

 :FAIL

 echo Invalid password

 goto end

 :MDLOCKER

 md Private

 echo Private created successfully

 goto End

 :End


• введите пароль по собственному выбору в месте, отмеченном  your password в вышеупомянутом коде

• сохраните это как “private.bat”

• теперь один раз щелкните по файлу private.bat, и он создаст новую папку, названную private

Шаг:-3 Блокируем папку

• Нажмите  на private.bat, и система спросит, хотители вы заблокировать свою папку

• впишите y чтобы согласиться и n чтобы отказаться

• теперь ваша папка заблокирована

Шаг:-4 Открываем папку

• снова нажмите на private.bat, и теперь система попросит, чтобы вы ввели свой пароль

• введите пароль, и щелкните на enter

• ваша папка теперь разблокирована



2017-06-13T15:55:05
Медиа

Ошибка 403 forbidden nginx 1.4 6 Ubuntu

Ошибка 403 forbidden nginx означает что вы запросили ресурс у сервера, который он не может отправить, потому что у вас недостаточно прав для его просмотра. Фактически, это даже не ошибка, это сообщение HTTP 4xx, которое всего лишь сообщает, что у вас нет доступа к определенному контенту.

Достаточно часто такие сообщения показывается пользователям, потому что они были заблокированы на сайте или попытались получить доступ к файлу, который доступен только локально. В этой статье мы попытаемся разобраться со случаями, когда появление 403 forbidden nginx 1.4 6 Ubuntu не желательно и представляет из себя ошибку, которую веб-мастер или системный администратор должен решить. Но сначала рассмотрим основные причины почему вы можете видеть это сообщение.

Ошибка 403 Forbidden Nginx

Итак, ошибка 403 forbidden nginx 1.4 6 Ubuntu может возникать в таких случаях:

  • Пользователь заблокирован на сервере с помощью директивы deny в конфигурации nginx;
  • Доступ к данному ресурсу разрешен только с определенного IP адреса;
  • Пользователь пытается получить доступ к папке, отображение содержимого которой запрещено;
  • Nginx не может прочитать содержимое запрашиваемого файла в файловой системе;
  • Файл index не найден в каталоге.

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

Неверно выставлены права

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

namei -l /var/www/public_html/index.html

Для всех элементов пути должен быть установлен флаг «r», чаще всего лучше подходят права 644, то есть, владелец может все, а группа и остальные только читать. Если права не соответствуют, то вы нашли проблему и осталось только исправить права с помощью chmod. Например:

chmod 644 /var/www/public_html/index.html

Вот так должно быть:

Также обратите внимание на владельца файлов и папок. Если nginx должен иметь возможность выполнять туда запись, то, возможно есть смысл сделать владельцем пользователя nginx или позже получите другую ошибку. Также, если с правами все хорошо, но ошибка не решена попробуйте отключить SELinux, возможно, эта служба мешает Nginx получить доступ к файлам.

Если вы используете PHP и получаете такую ошибку, то еще нужно проверить может ли Nginx получить доступ к сокету обработчика PHP. Желательно, чтобы php-fpm запускался с той же группой, что и nginx, потому что права, по умолчанию, для доступа к сокету 660 (для группы и для владельца). Поэтому проверьте поля listen.owner и listen.group в файле  /etc/php5/fpm/php-fpm.conf.

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

Неверно настроен index

Файл index открывается по умолчанию при запросе папки на сервере, в которой он находится. Если такого файла в папке нет или он настроен неправильно в конфигурационном файле nginx, то программа попытается отобразить содержимое папки, а это по умолчанию запрещено, поэтому вы получите 403 Foribden.

Чтобы решить проблему убедитесь, что файл index.html, index.php или как он у вас называется, находится в нужно папке, в той, которую вы запрашиваете. Проверьте конфигурационный файл и убедитесь, что в нем указана директива Index с правильным именем и расширением файла:

Если в директиве указаны только файлы html, а вы используете php, то уже понятно почему программа не может найти то, что нужно. Просто добавьте имя файла в директиву:

index index.html index.htm index.php;

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

Выводы

В этой статье мы рассмотрели почему возникает ошибка 403 forbidden nginx 1.4 6 Ubuntu и пути ее решения. Это наиболее частые причины, с которыми сталкиваются пользователи и попробовав все это, скорее всего, вы решите свою проблему. Если у вас остались вопросы, спрашивайте в комментариях!



2017-06-07T15:36:07
Сервер

Установка Nagios в Ubuntu

Nagios — это один из самых распространенных инструментов мониторинга серверов Linux и Windows с открытым исходным кодом. С помощью него вы сможете следить за выполнением различных приложений и сервисов удаленно, через веб-интерфейс. Nagios также может контролировать маршрутизаторы и другие сетевые устройства.

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

Установка Nagios в Ubuntu

Есть несколько способов установить Nagios Ubuntu 16.04. Вы можете воспользоваться PPA или устанавливать с помощью архива, загруженного на официальном сайте. На данный момент самая последняя версия — 4.3. В PPA доступна только 4.2, поэтому мы рассмотрим ручную установку с помощью архива.

Но перед тем как мы перейдем к установке необходимо обновить систему и установить все необходимые компоненты для сборки программы:

sudo apt update

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip

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

sudo useradd nagios

$ sudo groupadd nagcmd

Добавьте пользователя nagios и пользователя, от имени которого запускается Apache в группу nagcmd:

sudo usermod -a -G nagcmd nagios

$ sudo usermod -a -G nagcmd www-data

 

Затем нам нужно скачать исходные коды nagios. Это можно сделать с помощью команды терминала, но поскольку мы хотим получить самую новую версию, то лучше зайти на официальный сайт и скачать.

Сначала кликните по пункту «Nagios Core», затем пролистайте вниз и нажмите «Download»:

На этом этапе вы можете заполнить информацию о себе, или пропустить, нажав «Skip download»:

Осталось выбрать версию, например, 4.3.2. После того как загрузка будет завершена перейдите в папку с загрузками и распакуйте архив:

cd ~/Загрузки/

$ tar -zxvf /tmp/nagios-4.3.2.tar.gz

Теперь можно переходить к компиляции nagios. Для этого нужно выполнить такие команды:

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/

$ make all

$ sudo make install

$ sudo make install-init

$ sudo make install-config

$ sudo make install-commandmode

$ sudo make install-webconf

Настройка Nagios в Ubuntu

Все конфигурационные файлы программы будут размещены установщиком в /usr/local/nagios/etc/. Настройки по умолчанию позволяют запустить Nagios, но нам нужно внести еще несколько изменений. Откройте файл contact.cfg и измените электронный адрес, на который будут приходить оповещения:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

define contact{

contact_name nagiosadmin ; Краткое имя пользователя

use generic-contact ; Шаблон по умолчанию

alias Nagios Admin ; Полное имя пользователя

email admin@losst.pro ; Ваш Email

}

Для работы веб-интерфейса необходимо создать пароль пользователя nagiosadmin с помощью htpasswd, без него вы просто не сможете войти в интерфейс:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Наконец, для корректной работы нужно внести несколько настроек для веб-сервера. Включите модуль cgi:

sudo a2enmod cgi

Перезапустите веб-сервер:

sudo service apache2 restart

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

Теперь распакуйте архив и перейдите в папку с ним:

tar -zxvf /tmp/nagios-plugins-2.1.1.tar.gz

$ cd /tmp/nagios-plugins-2.1.1/

Для компиляции модулей выполните:

./configure --with-nagios-user=nagios --with-nagios-group=nagios

$ make

$ make install

Модули установлены в папку с Nagios, теперь проверьте правильность конфигурации:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Для автоматического запуска создадим Unit файл для systemd:

sudo vi /etc/systemd/system/nagios.service

[Unit]

Description=Nagios

BindTo=network.target

[Install]

WantedBy=multi-user.target

[Service]

User=nagios

Group=nagios

Type=simple

ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

 

Запуск Nagios

Почти все готово, осталось запустить сервис и начать использовать. Для запуска сервиса наберите:

sudo systemctl stat nagios

Чтобы открыть веб-интерфейс nagios будет достаточно набрать ip адрес и url nagios в браузере. Если вы устанавливали все это на локальном компьютере, то используйте:

http://localhost/nagios

Сразу после открытия странички вам нужно будет ввести имя пользователя nagiosadmin и пароль, который вы задали для него ранее. После этого можете пользоваться всеми возможностями программы:

Выводы

В этой статье мы рассмотрели как выполняется настройка nagios 4, а также полная установка последней версии в операционной системе Ubuntu. Несмотря на то, что, на первый взгляд, все кажется сложным, процесс достаточно простой. Теперь вы можете осуществлять мониторинг nagios ubuntu 16.04. Надеюсь, эта информация была полезной для вас.

https://youtu.be/nk52SLnjGy0



2017-06-06T14:32:49
Сервер