Kompx.com or Compmiscellanea.com

Редирект с HTTP на HTTPS в .htaccess

Веб-серверы : Apache + nginx

Редирект с HTTP на HTTPS в случае, когда веб-сервер, выдающий страницы, находится за обратным прокси-сервером или балансировщиком нагрузки.

Веб-серверы: Apache + nginx. Поддержка SSL включена. SSL-сертификат приобретен, одобрен и установлен. То есть, все настроено и работает. Так что осталось только сделать редирект с HTTP на HTTPS. Директивы для файла .htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP:X_FORWARDED_PROTO} !https [NC]

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Редирект с HTTP на HTTPS

-- Включить работу механизма преобразования:

RewriteEngine On

-- Если доменное имя без www:

RewriteCond %{HTTP_HOST} !^www\. [NC]

-- Тогда заменить его на домен с www:

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

-- Если HTTPS отсутствует:

RewriteCond %{HTTP:X_FORWARDED_PROTO} !https [NC]

-- Тогда заменить домен без HTTPS доменом с HTTPS:

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Примечания

1. X_FORWARDED_PROTO может называться X-Forwarded-Proto или еще как-нибудь иначе. От обратного прокси-сервера или балансировщика нагрузки надо получить сведения о том первоначальном запросе, который он получает. Обратные прокси-сервера или балансировщики нагрузки могут предоставлять веб-серверу эту информацию. Может быть отправлен заголовок X_FORWARDED_PROTO или X-Forwarded-Proto или называемый как-то иначе, содержащий название протокола (HTTP или HTTPS). Так обычно. Но не всегда. Поэтому в каком-то числе случаев как именно получить название протокола возможно придется выяснять экспериментальным путем.

2. Другим вариантом может быть просто установить переменную среды (если для данного сервера это возможно):

SetEnvIf X_FORWARDED_PROTO https HTTPS=on

Тогда директивы для файла .htaccess будут такими:

RewriteEngine On

SetEnvIf X_FORWARDED_PROTO https HTTPS=on

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP:HTTPS} !on [NV]

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

3. Документация Apache Module mod_rewrite (in English): http://httpd.apache.org/docs/current/mod/mod_rewrite.html


Aliosque subditos et thema

 

Распаковать tar.bz2

 

Распаковать tar.bz2 в командной строке Linux: tar jxvf file.tar.bz2 - j : пропустить архив через bzip2 [ 1 ] - x : извлечь файлы из архива - v : выводить список обрабатываемых файлов в процессе работы команды - f : распаковывать файл, имя которого указано после команды и модификаторов. То есть, параметр f предписывает использовать следующий аргумент как то, с чем надо работать вместо устройства архивации, указанного в системе по умолчанию, например /dev/rmt0. Команда извлекает содержимое сжатого архива в текущую папку. Tar создает архив из одного или нескольких файлов. Затем используется bzip2, чтобы его сжать. Или оба процесса производятся только с помощью tar, используя соответствующие параметры команды. Двойственность природы - упаковано в архив и затем сжато - отражается в расширении имени файла ("tar.bz2") и требует, чтобы в процессе извлечения были проведены две процедуры: восстановление из сжатого состояния и распаковка. Отсюда j (восстановить) и x (распаковать) в команде. [ 1 ] Источники для описания параметров команды: OpenNet : MAN tar и Сitforum : TAR(1)

Imapsync. Перенос почты

 

Перенос почты c одного IMAP сервера на другой с помощью imapsync [ 1 ] / Linux, командная строка: imapsync --host1 imap.this.com --user1 email@example.com --passfile1 /home/user/imap/passwordfile1 --ssl1 --host2 imap.another.com --user2 email@example.com --passfile2 /home/user/imap/passwordfile2 --ssl2 --skipsize --allowsizemismatch - Имеется сайт example.com и почтовый ящик email@example.com на сервере некоей хостинговой компании. IMAP сервер: imap.this.com. IMAP сервер поддерживает SSL. - Осуществляется перенос сайта example.com к другому хостеру. Соответственно, и почтового ящика email@example.com со всем его содержимым и с сохранением структуры папок. IMAP сервер другого хостинг-провайдера: imap.another.com. IMAP сервер поддерживает SSL. 1. Создать почтовый ящик email@example.com и пароль к нему на сервере той хостинговой компании, куда происходит перенос. 2. Создать два текстовых файла в папке /home/user/imap/: passwordfile1 с паролем к почтовому ящику на первом IMAP сервере и passwordfile2 с паролем к почтовому ящику на втором IMAP сервере. 3. chmod 600 /home/user/imap/passwordfile1 4. chmod 600 /home/user/imap/passwordfile2 5. Установить imapsync 6. Запустить imapsync с соответствующими параметрами и данными Imapsync переносит почту с сохранением структуры папок с imap.this.com на imap.another.com. SSL используется для шифрования данных в процессе передачи, а пароли сохранены в файлах, защищенных установкой прав доступа chmod 600. Перенос почты между двумя сервисами электронной почты может потребовать использования дополнительных параметров [ 2 ] imapsync. Например, при переносе содержимого одного почтового ящика Gmail.com на другой необходимо указать "--port1" и "--port2": imapsync --host1 imap.gmail.com --port1 993 --user1 email1@gmail.com --passfile1 /home/user/imap/passwordfile1 --ssl1 --host2 imap.gmail.com --port2 993 --user2 email2@gmail.com --passfile2 /home/user/imap/passwordfile2 --ssl2 --skipsize --allowsizemismatch [ 1 ] Простой и обычный случай: содержимое одного электронного почтового ящика переносится на другой - пустой, находящийся на другом сервере. Но могут быть и более сложные ситуации: Gmail to Google Apps Email Migration and Moving to Google Apps with imapsync. [ 2 ] Другие параметры: Migrate mail from one server to another with imapsync and imapsync(1) - Linux man page.