Необходимо настроить редирект http на https только для административной части сайта
В nginx’се это делается следующим образом, в секции
server {
listen 80;
server_name mysite.com;
root /sitedir/;
.....(ваши параметры);
Добавляем локейнш админки и редирект на 443 порт
location = /sitedir/admin/index.php {
rewrite ^(.*)$ https://$server_name$1 last;
}
После завершения настройки на порту 80, рисуем конфиг для порта 443 в том же файле конфигурации сайта
server {
listen 443;
server_name mysite.com;
include ssl.conf;
root /sitedir/;
location = /www/admin/index.php {
.....(ваши параметры);
allow my.ip;
deny all;
}
}
Запись, выход
Оформляем ssl.conf
ssl on;
ssl_protocols SSLv3 TLSv1;
ssl_certificate /etc/ssl/certs/nginx/nginx.pem;
ssl_certificate_key /etc/ssl/certs/nginx/nginx.key;
Запись, выход
Генерим сертификат и ключ
openssl req -new -x509 -days 730 -nodes -out nginx.pem -keyout nginx.key
И кидаем их в папку указанную в ssl.conf
chmod 400 nginx.pem nginx.key
Все. Перегружаем nginx
P.S. nginx должен быть собран с поддержкой ssl

- Системный администратор с 2000 года
- Участник Хабр Q&A и cyberforum
- Кейсы