Điểm:0

Nginx gửi 301 khi sử dụng proxy_pass

lá cờ mr

Tôi có một trang web được lưu trữ trên AWS, www.example.com. Tôi đã tạo một blog trên Wix myblog.wixsite.com/blog. Bây giờ, tôi muốn hiển thị nội dung của myblog.wixsite.com/blog trên www.example.com/blog. Vì vậy, tôi đã sử dụng conf Nginx sau đây để thử và đạt được điều đó.

địa điểm /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/';

          tắt proxy_ssl_verify;
          proxy_set_header Máy chủ "myblog.wixsite.com";
          proxy_set_header X-Forwarded-Host "";
          proxy_set_header X-Forwarded-For "";
          proxy_set_header Mã hóa chấp nhận "";
          proxy_set_header Cookie "";

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

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

Bây giờ, khi tôi đánh www.example.com/blog, Nginx chuyển hướng tôi đến https://myblog.wixsite.com/blog/ thay vì hiển thị nội dung trên www.example.com/blog chính nó. Tôi cũng đã thử thay đổi proxy_pass http://myblog.wixsite.com/blog/; đến proxy_pass https://myblog.wixsite.com/blog/; nhưng tôi bắt đầu nhận được lỗi sau.

*532 SSL_do_handshake() không thành công (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 cảnh báo lỗi nội bộ) trong khi SSL bắt tay ngược dòng, máy khách: <đã xử lý lại>, máy chủ: www.example.com, yêu cầu: "NHẬN /blog/ HTTP/2.0", ngược dòng: "https://myblog.wixsite.com/blog/", máy chủ lưu trữ: "www.example.com"

Tôi đã ở đó trong một vài ngày mà không có kết quả. Ai đó có thể đề nghị những gì tôi có thể làm sai?

Điểm:1
lá cờ us

Không phải nginx gửi chuyển hướng, đó là trang web https://myblog.wixsite.com/blog/ gửi chuyển hướng, nginx chỉ ủy quyền phản hồi mà nó nhận được từ trang web.

lá cờ mr
Có cách nào để ngăn chặn điều đó xảy ra?
Điểm:1
lá cờ tz

Hoặc sử dụng proxy_redirect hoặc thay đổi

proxy_pass http://myblog.wixsite.com/blog/; đến 
proxy_pass https://myblog.wixsite.com/blog/;

Lưu ý giao thức là https thay vì http. Blog wix của bạn dù sao cũng được phục vụ trên HTTPS.

lá cờ mr
Tôi cũng đã thử làm điều này nhưng bị kẹt ở lỗi Bắt tay SSL. Tôi đã cập nhật câu hỏi với nhiều chi tiết hơn.
mforsetti avatar
lá cờ tz
Thử đặt [`proxy_ssl_server_name`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_server_name) thành `bật`.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.