Я использую Ghost (0.7.6) в VPS с использованием Nginx (1.8.1). Чтобы обеспечить безопасность страницы панели и входа, я принудительно применяю любой запрос на использование HTTPS при доступе к таким страницам (например, /ghost
страница). Но для любого запроса на любую другую страницу (например, для доступа к самому блогу Ghost) я хочу заставить его использовать HTTP. Призрак прослушивает 127.0.0.1:2368
.ERR_TOO_MANY_REDIRECTS при настройке Ghost + Nginx с HTTP и HTTPS
Как ни странно, результат не так, что я ожидал: Каждый раз, когда я получить доступ к своему блогу (скажем, гиперссылка является a.b
), он говорит, что мой сайт имеет ERR_TOO_MANY_REDIRECTS
и перенаправляет между http://a.b
и https://a.b
(или между http://a.b/signin
и https://a.b/signin
). НО, когда я обращаюсь к панели управления администратора (https://a.b/ghost
или http://a.b/ghost
), он действует как ожидалось (без ошибок, правильно перенаправляет использование HTTPS).
Любая помощь? Конфигурация
Мои Nginx:
# Configuration for http://a.b
server {
listen 80;
server_name a.b;
location ^~ /ghost { # /ghost should be accessed securely
return 301 https://$host$request_uri;
}
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:2368;
}
}
# Configuration for http://a.b
server {
listen 443 ssl;
server_name a.b;
ssl_certificate ...;
ssl_certificate_key ...;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers '...';
location ^~ /ghost { # /ghost should be accessed securely
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:2368;
}
location/{ # Force to use HTTP
return 301 http://$host$request_uri;
}
}
Любой вид помощи был бы оценен: ')
Почему бы не просто включить HTTPS на всем сайте? Проще поддерживать, безопаснее для вас, быстрее для посетителей, если вы используете spdy или http2. – Tom