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.