我为 apache wordpress 设置了一个 nginx 反向代理,运行良好。但是根据位置需要重定向到外部 URL,结果失败了。请检查以下配置。这是有效设置吗?
- https://platform.com/- 这有效 - 任何后续的 wp 页面也同样有效
- https://platform.com/pen- 这需要重定向至https://abcdef.com- 这不起作用 - 404 页面加载错误
有什么帮助吗?
server {
listen 443 ssl default_server;
listen [::]:443 default_server;
server_name platform.com;
server_tokens off;
root /var/www/html/def/public/;
index index.php;
ssl on;
ssl_certificate /tmp/fgh.crt;
ssl_certificate_key /tmp/fgh.pem;
access_log /var/log/nginx/access2.log;
error_log /var/log/nginx/error2.log;
location / {
proxy_set_header X-Forwarded-Proto $scheme;
try_files $uri @apache;
}
location @apache {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location ~[^?]*/$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location /pen {
proxy_pass https://abcdef.com;
}
}
答案1
将服务器名称(WordPress 站点)从 http 前缀更改为 www 前缀后,代理传递重定向起作用了。必须在 nginx 配置中将所有 http https 服务器块重定向到 www 服务器块