Score:0

พร็อกซีผ่านเพื่อแสดงเซิร์ฟเวอร์ http ไม่ทำงานกับเว็บซ็อกเก็ตที่ปลอดภัย

ธง cn

ดังนั้นตอนนี้ฉันจึงมี apache พร้อม proxy pass ซึ่งเปลี่ยนเส้นทางคำขอทั้งหมดไปยัง express api ที่กำลังใช้งานอยู่ โมดูลโหนด httpฉันยังได้ติดตั้งใบรับรอง ssl ของ letsencrypt และทุกอย่างทำงานได้ดีในส่วนนี้ อย่างไรก็ตาม เมื่อฉันพยายามเปิดการเชื่อมต่อเว็บซ็อกเก็ตที่ปลอดภัย เกิดข้อผิดพลาด ฉันมีประสบการณ์ขั้นต่ำเพียงเล็กน้อยเท่าที่การกำหนดค่า apache และการกำหนดค่า ssl ดำเนินไปดังนั้นโปรดใช้ฉันด้วย

บนเซิร์ฟเวอร์ของฉัน:
เซิร์ฟเวอร์.ts

นำเข้า * เป็น http จาก 'http';
นำเข้า * เป็น Websocket จาก 'ws';
นำเข้า * ด่วนจาก 'ด่วน';
...
แอพ const = ด่วน ();
เซิร์ฟเวอร์ const = http.createServer (แอป);
const wss = websocket.Server ใหม่ ({ เซิร์ฟเวอร์ เส้นทาง: '/ws' });
...
server.listen(3005, () => {
    console.log('เซิร์ฟเวอร์เริ่มต้นที่พอร์ต 3005');
});

บนเบราว์เซอร์:
index.js

const ws = WebSocket ใหม่ ('wss://mydomain.tld/ws');

และไฟล์กำหนดค่า apache ของฉันสำหรับโดเมน
mydomain.tld.conf

<VirtualHost *:443>
    ServerName mydomain.tld
    ProxyPreserveHost On

    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:3005/ retry=0
    ProxyPassReverse / http://127.0.0.1:3005/
RewriteEngine on
RewriteCond %{SERVER_NAME} =mydomain.tld
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

ดังนั้นอีกครั้งเพื่อสรุปปัญหาอย่างรวดเร็ว ฉันสามารถสร้างคำขอ ssl secured https ที่สำเร็จแต่สร้างคำขอ websocket ไปยังเซิร์ฟเวอร์ไม่ได้ ขอบคุณล่วงหน้า.

โพสต์คำตอบ

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