Nginx отправляет 301 при использовании proxy_pass

Nginx отправляет 301 при использовании proxy_pass

У меня есть веб-сайт, размещенный на AWS,www.example.com. Я создал блог на Wix myblog.wixsite.com/blog. Теперь я хочу показать содержимое myblog.wixsite.com/blog наwww.example.com/blog. Поэтому я использовал следующую конфигурацию Nginx, чтобы попытаться добиться этого.

location /blog/ {
          sub_filter 'http://myblog.wixsite.com/' 'https://$http_host/blog/';
          sub_filter 'https://myblog.wixsite.com/' 'https://$http_host/blog/';
          sub_filter 'href="/posts/' 'href="/blog/';
          sub_filter 'href="/category/' 'href="/blog/category/';
          sub_filter 'href="/authors/' 'href="/blog/authors/';
          sub_filter 'href="/recent/' 'href="/blog/recent/';

          proxy_ssl_verify off;
          proxy_set_header Host "myblog.wixsite.com";
          proxy_set_header X-Forwarded-Host "";
          proxy_set_header X-Forwarded-For "";
          proxy_set_header Accept-Encoding "";
          proxy_set_header Cookie "";

          proxy_pass http://myblog.wixsite.com/blog/;

          proxy_redirect ~^(http://[^/]+)(/.+)$ https://$http_host$2;
        }

Теперь, когда я нажимаюwww.example.com/blog, Nginx перенаправляет меня наhttps://myblog.wixsite.com/blog/вместо того, чтобы показывать содержимое наwww.example.com/blogсам. Я также пробовал изменить proxy_pass http://myblog.wixsite.com/blog/;на proxy_pass https://myblog.wixsite.com/blog/; , но начал получать следующую ошибку.

*532 SSL_do_handshake() failed (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) while SSL handshaking to upstream, client: <redacted>, server: www.example.com, request: "GET /blog/ HTTP/2.0", upstream: "https://myblog.wixsite.com/blog/", host: "www.example.com"

Я занимаюсь этим уже пару дней, но безрезультатно. Может кто-нибудь подскажет, что я делаю не так?

решение1

Либо используйтеproxy_redirectили изменить

proxy_pass http://myblog.wixsite.com/blog/; to 
proxy_pass https://myblog.wixsite.com/blog/;

Обратите внимание, что протокол — httpsвместо http. Ваш блог Wix в любом случае обслуживается по протоколу HTTPS.

решение2

Перенаправление отправляет не nginx, а веб-сайт. https://myblog.wixsite.com/blog/nginx лишь проксирует ответ, который получает от сайта.

Связанный контент