“无法获取/” Ghost博客托管问题

时间:2020-06-07 00:42:13

标签: apache mod-rewrite mod-proxy ghost-blog

我想用我的角度应用程序安装一个幽灵博客。 Angular应用程序博客和幽灵博客位于文件系统中的单独目录中,分别位于“ example_site”和“ example_blog”中。我的角度应用程序位于“ example.in”上,我希望在“ example.in/blogs”下可以访问幽灵博客。 我已经使用了代理,这是我的apache服务器配置

<virtualHost *:80>
        ServerName example.in
        ServerAlias www.example.in
        ServerAdmin webmaster@localhost
        RedirectMatch permanent ^(.*)$ https://www.example.in$1
</virtualHost>

<VirtualHost *:443>

        ServerName example.in
        ServerAlias www.example.in
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/example_site/dist/

        <Directory /var/www/html/example_site/dist/>
                RewriteEngine On
                RewriteBase /
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule .* /index.html [L]
        </Directory>


        ProxyPreserveHost On
        ProxyPass /blogs/ http://127.0.0.1:2368/
        ProxyPassReverse /blogs/ http://127.0.0.1:2368/


        SSLEngine on
        SSLCertificateFile /var/www/html/example_site/cert/123.crt
        SSLCertificateKeyFile /var/www/html/example_site/cert/example.key
        SSLCertificateChainFile /var/www/html/example_site/cert/examplecrt


        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这是我的幽灵配置

{
  "url": "https://example.in/blogs",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "admin",
      "password": "***",
      "database": "example_blogs_prod"
    }
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "systemd",
  "paths": {
    "contentPath": "/var/www/html/example_blogs/content"
  }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案 我添加了 RequestHeader设置X-Forwarded-Proto https 对文件做了一些更改,这是更新的文件 这是我的apache服务器配置

<virtualHost *:80>
        ServerName example.in
        ServerAlias www.example.in
        ServerAdmin webmaster@localhost
        RedirectMatch permanent ^(.*)$ https://www.example.in$1
</virtualHost>

<VirtualHost *:443>

        ServerName example.in
        ServerAlias www.example.in
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/example_site/dist/

        <Directory /var/www/html/example_site/dist/>
                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteRule .* /index.html [L]
        </Directory>

        RequestHeader set X-Forwarded-Proto https
        ProxyPreserveHost On
        ProxyPass /blogs http://localhost:2368/blogs
        ProxyPassReverse /blogs http://localhost:2368/blogs

        SSLEngine on
        SSLCertificateFile /var/www/html/example_site/cert/123.crt
        SSLCertificateKeyFile /var/www/html/example_site/cert/example.key
        SSLCertificateChainFile /var/www/html/example_site/cert/examplecrt


        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这是幽灵配置文件

{
  "url": "https://example.in/blogs",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "admin",
      "password": "***",
      "database": "example_blogs_prod"
    }
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "systemd",
  "paths": {
    "contentPath": "/var/www/html/example_blogs/content"
  }
}