Score:0

Nginx ส่ง 301 เมื่อใช้ proxy_pass

ธง mr

ฉันมีเว็บไซต์ที่โฮสต์บน AWS www.example.com. ฉันได้สร้างบล็อกบน Wix myblog.wixsite.com/blog ตอนนี้ ฉันต้องการแสดงเนื้อหาของ myblog.wixsite.com/blog บน www.example.com/blog. ดังนั้นฉันจึงใช้ Nginx conf ต่อไปนี้เพื่อลองและทำสิ่งนั้นให้สำเร็จ

สถานที่ /บล็อก/ {
          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;
          proxy_set_header โฮสต์ "myblog.wixsite.com";
          proxy_set_header X-ส่งต่อโฮสต์ "";
          proxy_set_header X-ส่งต่อ-สำหรับ "";
          proxy_set_header ยอมรับการเข้ารหัส "";
          proxy_set_header คุกกี้ "";

          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() ล้มเหลว (SSL: error:14077438:SSL Routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) ขณะที่ SSL handshaking ไปยังอัพสตรีม ไคลเอ็นต์: <redacted> เซิร์ฟเวอร์: www.example.com คำขอ: "GET /blog/ HTTP/2.0", อัปสตรีม: "https://myblog.wixsite.com/blog/", โฮสต์: "www.example.com"

ฉันได้รับมันมาสองสามวันโดยไม่มีผลลัพธ์ ใครสามารถแนะนำสิ่งที่ฉันอาจทำผิด?

Score:1
ธง tz

ใช้อย่างใดอย่างหนึ่ง proxy_redirect หรือเปลี่ยน

proxy_pass http://myblog.wixsite.com/blog/; ถึง 
proxy_pass https://myblog.wixsite.com/blog/;

สังเกตโปรโตคอลคือ https แทน http. บล็อก wix ของคุณให้บริการบน HTTPS อยู่แล้ว

mr flag
ฉันพยายามทำสิ่งนี้เช่นกัน แต่ติดอยู่ที่ข้อผิดพลาด SSL Handshake ฉันได้อัปเดตคำถามพร้อมรายละเอียดเพิ่มเติมแล้ว
mforsetti avatar
tz flag
ลองตั้งค่า [`proxy_ssl_server_name`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_server_name) เป็น "เปิด"
Score:1
ธง us

ไม่ใช่ nginx ที่ส่งการเปลี่ยนเส้นทาง แต่เป็นเว็บไซต์ https://myblog.wixsite.com/blog/ ที่ส่งการเปลี่ยนเส้นทาง nginx จะแสดงเฉพาะการตอบสนองที่ได้รับจากไซต์เท่านั้น

mr flag
มีวิธีหยุดไม่ให้เกิดขึ้นหรือไม่?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา