Score:0

การเข้าถึง HTTPS ส่วนหน้าไปยัง http แบ็กเอนด์ ngix

ธง cn

ฉันมีส่วนหน้าใน Angular ซึ่งรองรับ https ในขณะที่ฉันมีแบ็กเอนด์ที่พอร์ต 10080 ซึ่งรองรับ http ฉันลองใช้พร็อกซีย้อนกลับสองสามวิธีในไฟล์กำหนดค่า ngix แต่ยังคงประสบปัญหาเดียวกัน

ในขณะที่ฉันลองใช้วิธีนี้มักจะได้รับข้อผิดพลาด "การเข้าถึง XMLHttpRequest ที่ 'https://example.com:30080/api/remoteControl/getactiveusers' จากต้นทาง 'https://example.com' ถูกบล็อกโดยนโยบาย CORS: ไม่ ส่วนหัว 'Access-Control-Allow-Origin' มีอยู่ในทรัพยากรที่ร้องขอ"

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    ชื่อเซิร์ฟเวอร์  _;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" เสมอ;
    รูท /usr/share/nginx/html;
    ดัชนี index.html index.htm;
    รวม /etc/nginx/mime.types;

    เปิด gzip;
    gzip_min_length 1,000;
    gzip_proxied หมดอายุแล้ว ไม่มีแคช ไม่มีที่เก็บ การตรวจสอบสิทธิ์ส่วนตัว
    ข้อความ gzip_types/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/แอปพลิเคชันจาวาสคริปต์/ข้อความ x-จาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;
    ssl_certificate "xxx.crt";
    ssl_certificate_key "xxx.key";
    ssl_session_timeout 1d;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_session_cache ที่ใช้ร่วมกัน: SSL:10m;
    ปิด ssl_session_tickets;
    ปิด ssl_stapling;
    
    ที่ตั้ง / {
     ถ้า ($request_method = 'ตัวเลือก') {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header ประเภทเนื้อหา ข้อความ/ธรรมดา;
        add_header ความยาวเนื้อหา 0;
        กลับ 204;
    }
    add_header 'เข้าถึง-ควบคุม-อนุญาต-กำเนิด' *;
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

    try_files $uri $uri/ /index.html;
    }
    ตำแหน่ง ~* \.(eot|ttf|woff|woff2)$ {
     add_header Access-Control-Allow-Origin *;
   }
   

}
เซิร์ฟเวอร์ {
    ฟัง 10080 ssl http2;
    ชื่อเซิร์ฟเวอร์  _;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" เสมอ;
   ssl_certificate "xxxx.crt";
    ssl_certificate_key "xxx.key";
ssl_session_timeout 1d;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_session_cache ที่ใช้ร่วมกัน: SSL:10m;
    ที่ตั้ง / {
    
        proxy_pass "http://backend:80" ;
        proxy_set_header การเชื่อมต่อ Keep-alive;
        proxy_set_header โฮสต์ $host;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-ส่งต่อโปรโต https;    
# proxy_set_header X-ส่งต่อโฮสต์ $host;
# proxy_hide_header X-Frame-ตัวเลือก;
        proxy_buffers 4 256k;
        proxy_buffer_size 128k; 
        proxy_busy_buffers_size 256k;
    }
}

ใครรู้วิธีแก้ปัญหานี้

ขอบคุณ

in flag
กำหนดค่าเซิร์ฟเวอร์ส่วนหลังของคุณเพื่อสร้าง URL ที่ถูกต้องสำหรับคำขอ (ด้วย https โดยไม่มีพอร์ต)
cn flag
ขออภัย คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ไหม
Score:0
ธง us

การตั้งค่าของคุณมีปัญหาหลายอย่าง

ขั้นแรก คุณมีเซิร์ฟเวอร์เสมือน nginx สาธารณะสองเครื่อง ที่พอร์ต 443 และพอร์ต 10080คุณควรมีเซิร์ฟเวอร์ที่รับฟังพอร์ต 443 และคำขอพร็อกซีย้อนกลับจากที่นั่นเท่านั้น

ประการที่สอง แบ็กเอนด์ของคุณกำลังสร้างเนื้อหาที่มีลิงก์เช่น http://example.com:10080/page. แบ็กเอนด์ของคุณควรสร้าง URL เช่น https://example.com/page.

โพสต์คำตอบ

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