nginx - 幽灵博客和混合活动内容
问题描述
我正在尝试在 NGINX 反向代理后面使用 Ghost 发布博客。但是,我面临 1 个小问题,这意味着无法在博客文章中加载图像等内容。查看开发工具后,我注意到这是由于加载了混合活动内容(HTTP 请求而不是 HTTPS)。有趣的是,这在移动设备上工作得非常好,因为它们不会阻止 HTTP 内容。
我的幽灵博客设置为http://blog.jamdoog.com
因为https://blog.jamdoog.com
地址导致无限重定向。除此之外,我不确定我打算如何为 HTTPS 方面创建反向代理文件。
我正在使用的设置是带有 NGINX for Ghost 的反向代理,然后是“边缘”节点上的第二个反向代理。这样我就可以将我的内容分发到离观众更近的服务器上。
我附上了我的设置如何工作和我的 NGINX 配置文件的图表。
博客服务器上的 NGINX 配置:
server {
listen 80;
server_name blog.jamdoog.com;
root /var/www/ghost/blog.jamdoog.com/system/nginx-root;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host blog.jamdoog.com;
proxy_pass http://127.0.0.1:2368;
}
location ~ /.well-known {
allow all;
}
client_max_body_size 50m;
}
边缘服务器上的 NGINX 配置:
upstream blog.jamdoog.com
{
server blog.jamdoog.com;
}
server {
server_name blog.jamdoog.com;
access_log /var/log/nginx.access.log;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://IPOfBlog;
proxy_set_header Host blog.jamdoog.com;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_cache proxy-cache;
proxy_cache_valid 200 302 30m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
}
location ^~ /ghost {
proxy_ignore_headers Cache-Control;
add_header X-Cache-Status $upstream_cache_status;
}
listen 443 ssl;
ssl_certificate /path/to/fullchain.cer;
ssl_certificate_key /path/to/the.key;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
server {
if ($host = blog.jamdoog.com) {
return 301 https://$host$request_uri;
}
listen 80;
server_name blog.jamdoog.com;
return 404; # managed by Certbot
}
谢谢你。
编辑:为了澄清,我正在寻求有关 NGINX 配置的帮助,以允许我在默认情况下将 Ghost 与 SSL 一起使用,以重定向到 HTTPS。这将解决这个问题。
或者,一种使幽灵利用相对路径的方法。
解决方案
推荐阅读
- archlinux - Arch Linux 显示带有 xfce4 环境的白色终端
- javascript - 通过从数组创建单独的列表来制作具有不同材料类型的单独材料列表
- php - 如何刷新特定的用户会话
- node.js - 两个模型之间的 Mongoose 聚合
- laravel - 警告:require_once(bootstrap/app.php):打开流失败:C:\laragon\www\halfproject\public\index.php 中没有这样的文件或目录
- react-native - 如何确定在本机反应中获取数据的时间
- escaping - Char.toString 没有特殊处理 " 和 \
- visual-studio - Visual Studio 部署到 SQL 数据仓库 'ANSI_NULLS' 附近的语法不正确
- c# - 如何创建或生成 .mlpd 文件以检查 xamarin 分析器中的应用程序性能
- python - 如何计算生成器的时间复杂度