我的反向配置:
add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_redirect off; proxy_redirect https://backend.xyz:2083/ /; proxy_pass https://backend.xyz:2083; sub_filter backend.xyz:2083 front.xyz; sub_filter_once off; }
运行时,似乎一切正常。我的网站基于 drupal7。但是当我发布登录表单时,登录帖子对于 fonrt.xyz 成功,但对于后端不成功,但 uri 重定向到https://backend.xyz:2083.根据网上的一些提示,我为这个位置添加了一些配置:
proxy_intercept_errors on; error_page 302 = @handle_page;
然后添加新位置:
location @handle_page { rewrite ^/ $scheme://front.xyz/ last; }
现在,uri 是正确的,但是登录表单提交都失败了。那么,我如何才能成功将其发布到 front.xyz 并使 front.xyz 变为 302 状态?为 front-nginx 或 backend-nginx 添加一些更改?