Как мне заставить страницу администратора Ghost быть сервером через SSL, когда Ghost установлен в подкаталоге?

Я использую Ghost в качестве платформы для ведения блогов и nginx в качестве обратного прокси для Ghost, как подробно описано в документации. Ghost устанавливается в подкаталог и обслуживается в домене http://example.com/blog, тогда как статический веб-сайт обслуживается через example.com

Я установил SSL на своем сервере и хочу обслуживать страницу входа-призрака (example.com/blog/ghost) через SSL, а остальные страницы обслуживать через обычный HTTP. Однако, если я использую forceAdminSSL:true и пытаюсь перейти к http://example.com/blog/ghost, он должен автоматически перенаправить меня на https://example.com/blog/ghost. Вместо этого я перенаправляюсь на https://example.com/ghost и получаю 404 ошибку. Единственная работа, которую я обнаружил, - это использовать foreAdminSSL:{redirect:false}, что неуклюже, потому что тогда мне придется вручную вводить https в адресной строке вместо http.

Как настроить сервер Ghost Admin Panel по ssl, когда Ghost установлен в подкаталоге? Я предполагаю, что это как-то связано с настройкой в ​​nginx.

Мой блок конфигурации nginx

    server {
     listen       80;
     listen 443 ;
     server_name  *.example.com;
     server_name  example.com;
     ssl on;
     ssl_certificate /etc/nginx/ssl/certificate.crt;
     ssl_certificate_key /etc/nginx/ssl/key.key;

     location ^~/blog {
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header Host $host;
             proxy_set_header X-NginX-Proxy true;
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_pass http://127.0.0.1:2786;
             proxy_redirect off;
     }


    location / {
            root "/home/ubuntu/somedirectory/";
            index index.html;
    }

person suv    schedule 26.12.2014    source источник
comment
добавление $ uri в proxy_pass также не работает. я также не пробовал полнокровие регулярных выражений (или, может быть, я написал несколько сломанных)   -  person suv    schedule 26.12.2014


Ответы (1)


Я думаю, вы не ввели URL-адрес конфигурации при правильной настройке Ghost.

Вы можете сделать это, выполнив следующие команды:

ghost config URL https://my-domain.com/blog/

ghost restart

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

person pranav    schedule 06.03.2019