พื้นหลัง:
ฉันกำลังพยายามกำหนดค่าเซิร์ฟเวอร์อูบุนตูเพื่อเรียกใช้แอปพลิเคชัน node.js ด้วย https
ก่อนหน้านี้ฉันมีทุกอย่างทำงานได้ดีกับ http (กำหนดค่าเมื่อปีที่แล้ว) และฉันต้องการเปิดไฟร์วอลล์สำหรับ :443 และเปลี่ยนเส้นทางไปที่ :8443:
sudo ufw อนุญาต 443/tcp
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443
เมื่อลองใช้แอปของฉัน ปรากฎว่าคำขอ https ไม่ได้ลงทะเบียนกับแอป (ไม่มีสิ่งใดในบันทึกของแอป และเบราว์เซอร์ไม่ได้รับการตอบสนองต่อคำขอ) เมื่อฉัน ping เซิร์ฟเวอร์ ฉันก็ไม่ได้รับการตอบกลับเช่นกัน (ยังไม่หมดเวลาด้วยซ้ำ)แดชบอร์ดผู้ให้บริการคลาวด์ของฉันยังระบุว่าไม่สามารถ ping เซิร์ฟเวอร์ได้ และการกำหนดค่าไฟร์วอลล์ของผู้ให้บริการคลาวด์ยังระบุว่าอนุญาตให้ใช้ 443 สำหรับ tcp ทั้งหมด
... แต่ฉันยังสามารถ ssh ไปยังเซิร์ฟเวอร์ได้โดยไม่มีปัญหา
คำถาม
ฉันจะแก้ไขปัญหานี้ได้อย่างไร เท่าที่ฉันสามารถบอกได้
- :443 ได้รับอนุญาตบนไฟร์วอลล์
- :443 เปลี่ยนเส้นทางไปที่ :8443
- โหนดกำลังฟัง :8443
สถานะ sudo ufw
ถึงการดำเนินการจาก
-- ------ ----
80/tcp อนุญาตได้ทุกที่
443/tcp อนุญาตได้ทุกที่
80/tcp (v6) อนุญาตทุกที่ (v6)
443/tcp (v6) อนุญาตได้ทุกที่ (v6)
sudo iptables -t แนท -L -n -v
เชน PREROUTING (นโยบายยอมรับแพ็กเก็ต 9477, 1121K ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
1413K 59M REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir 8080
0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir 8080
0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir 8080
0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir 8080
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir 8080
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 พอร์ต redir 8443
Chain INPUT (นโยบายยอมรับแพ็กเก็ต 6826, 410K ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain OUTPUT (นโยบายยอมรับ 74 แพ็คเก็ต, 6925 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain POSTROUTING (นโยบายยอมรับ 74 แพ็คเก็ต, 6925 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
sudo netstat -ntlp
การเชื่อมต่ออินเทอร์เน็ตที่ใช้งานอยู่ (เฉพาะเซิร์ฟเวอร์)
Proto Recv-Q Send-Q Local Address ที่อยู่ต่างประเทศ State PID/ชื่อโปรแกรม
tcp 0 0 127.0.0.53:53 0.0.0.0:* ฟัง 108911/systemd-reso
tcp 0 0 0.0.0.0:22 0.0.0.0:* ฟัง 112287/sshd
tcp 0 0 0.0.0.0:1022 0.0.0.0:* ฟัง 125785/sshd
tcp6 0 0 :::22 :::* ฟัง 112287/sshd
tcp6 0 0 :::8443 :::* ฟัง 125414/โหนด
tcp6 0 0 :::1022 :::* ฟัง 125785/sshd
sudo iptables -L -nv
Chain INPUT (นโยบาย DROP 120 แพ็คเก็ต, 30108 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
0 0 ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
0 0 ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
381K 34M ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
0 0 ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
998 94467 ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
8163 1107K ยอมรับทั้งหมด -- แท้จริง * 0.0.0.0/0 0.0.0.0/0
54M 15G ยอมรับทั้งหมด -- * * 0.0.0.0/0 0.0.0.0/0 สถานะที่เกี่ยวข้อง ก่อตั้ง
2892K 172M ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
เชน FORWARD (นโยบาย DROP 0 แพ็กเก็ต 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain OUTPUT (นโยบายยอมรับแพ็กเก็ต 5873, 874K ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-after-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-after-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-after-log-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-after-log-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-after-log-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-after-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-before-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-before-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-before-log-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-before-log-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-before-log-output (0 อ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-before-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-logging-allow (อ้างอิง 0 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-log-deny (0 การอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-not-local (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-reject-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-reject-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-reject-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-skip-to-policy-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-skip-to-policy-input (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-skip-to-policy-output (0 การอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-track-forward (อ้างอิง 0 รายการ)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-track-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-track-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน ufw-user-forward (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-user-input (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
0 0 ยอมรับ tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain ufw-user-limit (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-user-limit-accept (0 ข้อมูลอ้างอิง)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-user-log-forward (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-user-log-input (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-user-log-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain ufw-user-output (อ้างอิง 0)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง