Nginx proxy_pass показывает пустую страницу для сайтов wix.com

В принципе, у меня такая же проблема, как

Проксирование сайта через nginx приводит к появлению пустой страницы и https://serverfault.com/questions/850923/nginx-proxy-wix-site-shows-only-blank-page-in-browser-or-not-found, однако есть "настоящие" решения не предоставлены, и у меня все еще есть проблема пустой страницы

Это мой блок местоположения

location /compliance {
    proxy_set_header Accept-Encoding "";
    sub_filter 'wixdomain.wixsite.com' '$host';
    sub_filter_once off;

    proxy_pass http://wixdomain.wixsite.com/compliance;
}

Тем не менее, я все еще вижу пустую страницу, я пробовал несколько других вещей, таких как

sub_filter_types text/html text/javascript application/x-javascript или добавление proxy_pass_request_headers on; или добавление proxy_set_header Host $host но никто из них не работал.

У кого-нибудь есть идея, почему это происходит? css не загружается, каждый js загружается без ошибки (200). Я не уверен, что я могу сделать больше, чтобы решить эту проблему. Может ли это быть связано, что я на localhost:{PORT} а wix как-то отключает его в любом случае для localhost? Должен ли я попробовать это с доменом или вы видите что-то еще, что здесь не так?

2 ответа

В моей нынешней компании у нас есть поток покупок (написанный на PHP) для покупки продукта и целевые страницы, созданные в wix. Мы используем прокси, чтобы все наши целевые страницы находились в том же домене, что и наш поток покупок. Конфигурация прокси-сервера nginx следующая.

         server {

  listen 443;

  location / {
        proxy_ssl_server_name on;
        gzip off;
        proxy_set_header Accept-Encoding "";
        add_header Host mi-portal.wix.com;
        proxy_pass_request_headers      on;
        proxy_http_version 1.1;
        proxy_pass https://mi-portal.wix.com/;
  }

  // Location to use a backend as PHP

}

Добавление к ответу Виктора, поскольку нам этого было недостаточно, поскольку мы включили форму на нашу целевую страницу.

Для показа контента wix на OURDOMAIN.com/info мы использовали следующую конфигурацию:

      server {

    listen 443;

    location ~ ^/info(\/.*)?$ {
        resolver 8.8.8.8;
        proxy_set_header Accept-Encoding "";
        proxy_pass https://XYZ.wixsite.com/info$1;

        sub_filter "XYZ.wixsite.com" "OURDOMAIN.com";
        sub_filter_once off;
    }

    location ~ ^/_api(\/.*)?$ {
        resolver 8.8.8.8;
        proxy_pass https://XYZ.wixsite.com/_api$1;
    }

    # ...
}

Нам пришлось добавить sub_filter и настроить proxy_pass обратно в API wix.

Другие вопросы по тегам