ฉันใช้ react เป็นส่วนท้ายของฟอนต์และ nodejs เป็นแบ็กเอนด์ซึ่งทำงานบน localhost:3016 และฉันใช้ nginx เป็น reverse proxy และ load balancer
นี่คือไฟล์ conf nginx ของฉันสำหรับเว็บไซต์
load_balance ต้นน้ำ{
#least_conn;
#ip_hash;
เซิร์ฟเวอร์ localhost:3016;
#เซิร์ฟเวอร์ localhost:8010;
#เซิร์ฟเวอร์ localhost:8011;
#เซิร์ฟเวอร์ localhost:8012;
#เซิร์ฟเวอร์ localhost:8013;
#เซิร์ฟเวอร์ localhost:8014;
#เซิร์ฟเวอร์ localhost:8015;
#เซิร์ฟเวอร์ localhost:8016;
#เซิร์ฟเวอร์ localhost:8017;
#เซิร์ฟเวอร์ localhost:8018;
}
เซิร์ฟเวอร์ {
# การกำหนดค่า SSL
#
# ฟัง 443 ssl default_server;
# ฟัง [::]:443 ssl default_server;
#
# หมายเหตุ: คุณควรปิดการใช้งาน gzip สำหรับการรับส่งข้อมูล SSL
# ดู: https://bugs.debian.org/773332
#
# อ่านข้อมูลเพิ่มเติมเกี่ยวกับ ssl_ciphers เพื่อให้แน่ใจว่ามีการกำหนดค่าที่ปลอดภัย
# ดู: https://bugs.debian.org/765782
#
# ใบรับรองที่ลงนามด้วยตนเองที่สร้างขึ้นโดยแพ็คเกจ ssl-cert
# ห้ามใช้ในเซิร์ฟเวอร์ที่ใช้งานจริง!
#
# รวมตัวอย่าง/snakeoil.conf;
# ฟัง [::]:443 ssl ipv6only=on; # จัดการโดย Certbot
ฟัง 443 ssl; # จัดการโดย Certbot
ssl_certificate /etc/letsencrypt/live/ethiolive.net/fullchain.pem; # จัดการโดย Certbot
ssl_certificate_key /etc/letsencrypt/live/ethiolive.net/privkey.pem; # จัดการโดย Certbot
รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot
#root /var/www/html;
# เพิ่ม index.php ในรายการหากคุณใช้ PHP
#ดัชนี index.html index.htm index.nginx-debian.html;
server_name ethiolive.net www.ethiolive.net;
add_header 'Access-Control-Allow-Origin' '*' เสมอ;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE' เสมอ;
add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Accept,Content-Type, Origin,x-auth' เสมอ;
#default_type แอปพลิเคชัน/json;
ที่ตั้ง /api {
proxy_pass http://load_balance;
proxy_http_version 1.1;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ 'อัปเกรด';
proxy_set_header โฮสต์ $host;
proxy_cache_bypass $http_upgrade;
# ความพยายามครั้งแรกในการให้บริการคำขอเป็นไฟล์ จากนั้น
# เป็นไดเร็กทอรี จากนั้นถอยกลับไปแสดง 404
# try_files $uri $uri/ =404;
ถ้า ($request_method = 'ตัวเลือก') {
add_header 'การควบคุมการเข้าถึง - อนุญาต - ต้นทาง' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# ส่วนหัวที่กำหนดเองและส่วนหัวของเบราว์เซอร์ต่างๆ *ควร* ใช้ได้แต่ไม่ใช่
#
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
#
# บอกลูกค้าว่าข้อมูลก่อนเที่ยวบินนี้ใช้ได้ 20 วัน
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'ประเภทเนื้อหา' 'ข้อความ/ธรรมดา; ชุดอักขระ = utf-8';
add_header 'ความยาวเนื้อหา' 0;
กลับ 204;
}
ถ้า ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*' เสมอ;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' เสมอ;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' เสมอ;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' เสมอ;
}
ถ้า ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*' เสมอ;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' เสมอ;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' เสมอ;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' เสมอ;
}
}
ที่ตั้ง / {
รูท /var/www/html/LiveStream/LiveStream-frontend/users/build;
ดัชนี index.html index.htm;
}
ตำแหน่ง / ผู้ดูแลระบบ {
รูท /var/www/html/LiveStream/LiveStream-frontend/admin/build; ดัชนี index.html index.htm;
}
ตำแหน่ง /ซ็อกเก็ต/ {
proxy_pass http://load_balance/socket.io/;
ปิด proxy_redirect;
proxy_http_version 1.1;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ "อัพเกรด";
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
}
ตำแหน่ง /socket.io/{
proxy_pass http://load_balance/socket.io/;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ "อัพเกรด";
proxy_http_version 1.1;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header โฮสต์ $host;
}
```
ฉันได้รับข้อผิดพลาดนี้
2.2664eafa.chunk.js:2 เนื้อหาแบบผสม: หน้าที่ 'https://www.ethiolive.net/' ถูกโหลดผ่าน HTTPS แต่ขอจุดสิ้นสุด XMLHttpRequest ที่ไม่ปลอดภัย 'http://192.168.8.101:3016/catagorey/ รับหมวดหมู่หลัก' คำขอนี้ถูกบล็อก เนื้อหาต้องให้บริการผ่าน HTTPS.```
จากคอนโซล Chromes
ฉันคิดว่าฉันพลาดบางอย่างในการกำหนดค่า nginx ขอบคุณ