ไซต์ลงนามใบรับรอง SSL โดเมนสาธารณะและเซิร์ฟเวอร์แบ็กเอนด์ KESTREL (.PEM ซึ่งขณะนี้รองรับใน DOTNET 6) ทำงานบน Ubuntu 20.04 (Digital Ocean cloud droplet (VM))
ทำงานจาก CURL และจากเบราว์เซอร์ไซต์เดียวกัน ไม่ใช่จากเบราว์เซอร์ระยะไกล พยายามคอมโบคำแนะนำทั้งหมด
- https://somedomain.com. // ไซต์สาธารณะ;
- ** อาแจ็กซ์;
- *** http://localhost:5000 // ขอส่วนหัวจากคำแนะนำ;
- **** Nginx ย้อนกลับพร็อกซี // ทำตามคำแนะนำในการแมป (แมปกับทั้ง https://localhost:5001 และ http://localhost:5000 โปรโตคอลทั้งสองทำงานจาก ssh CURL และเว็บเบราว์เซอร์ในเครื่อง;
- ******เคสเตรล. // ลงชื่อด้วยใบรับรอง SSL ของไซต์ (ก่อนหน้านี้ลงชื่อด้วยตนเอง ใช้งานไม่ได้);
- ******* ดอทเน็ต 6;
- ********* การเริ่มต้น // ทำตามคอมโบคำแนะนำทั้งหมด;
- ********** ผู้ควบคุม // ปฏิบัติตามคำแนะนำทั้งหมด;
ฉันไม่พบ GITHUB ที่ใช้งานได้ โครงการ YARP ของ Microsoft นำแฟบริคของแอพไปใช้แบบออฟไลน์เพื่อแก้ไขปัญหาด้านความปลอดภัย ดังนั้นจึงไม่สามารถทดสอบอันที่ใช้งานได้ ความหมายก็คือการล็อก CORS localhost ในฤดูใบไม้ร่วงปี 2021 อาจทำให้วิธีการนี้เสียหายและจะต้องมีแบ็กเอนด์พร็อกซีย้อนกลับบน IP อื่น
พฤติกรรม:
- ssh CURL ทำงาน;
- เบราว์เซอร์บนไซต์ใช้งานได้
- เบราว์เซอร์ระยะไกลไม่ทำงาน
- ส่งคืนการปฏิเสธ CORS เสมอ (FireFox, Chrome);
- ** ดูเหมือนจะเกี่ยวข้องกับการล็อกดาวน์ที่เพิ่มขึ้นเมื่อใช้ [localhost] เป็นโฮสต์ Ajax ในหน้าโดเมนจากเบราว์เซอร์ระยะไกล
ฉันไม่ได้ให้รหัส แต่ถ้ามีประโยชน์ มีชั้นจำนวนมากที่ต้องตาข่าย พวกเขาทำ แต่รหัสจะมีความชัดเจนน้อยกว่าเกี่ยวกับปัญหาข้างต้น หากมีใครสามารถใช้งาน .NET KESTREL ด้านบนได้ ไม่ว่าจะผ่าน Nginx หรือ Apache reverse proxy...ในความเป็นจริง (ใดๆ) reverse proxy นั่นจะดีมาก หากมีคอมโบรูปแบบที่ฉันพลาด ฉันจะไม่เห็น ดีใจที่ผิด. ถ้าฉันจำเป็นต้องใช้ภาษาอื่น ฉันก็ทำได้เช่นกัน แต่ไม่ต้องการ