ฉันไม่มีความคิดว่าทำไมฉันถึงไม่สามารถเชื่อมต่อกับ nginx นี้ทั้งภายในและภายนอกนักเทียบท่า ฉันเข้าใจได้ว่าระบบเครือข่ายอาจทำให้เกิดปัญหาภายนอกเครื่อง แต่แม้ใน docker nginx จะไม่ตอบสนอง แม้ว่าคุณจะเห็นมันทำงานและฟัง (ภายใน docker) ภายนอกนักเทียบท่าพอร์ตอาจไม่ได้ทำการแมปผ่าน แต่ดูเหมือนว่าจะได้รับการกำหนดค่าตามที่ควร
"การกำหนดค่า": {
"ชื่อโฮสต์": "",
"ชื่อโดเมน": "",
"ผู้ใช้": "",
"AttachStdin": เท็จ
"AttachStdout": เท็จ
"AttachStderr": เท็จ
"พอร์ตที่เปิดเผย": {
"80/tcp": {}
},
บนเครื่อง HOST
root@host:~# นักเทียบท่า ps
รหัสคอนเทนเนอร์ IMAGE คำสั่งสร้างสถานะชื่อพอร์ต
0be6e751cd6d humanyze/nginx:config-pentest "nginx -g 'daemon ofâ¦" 8 วินาทีที่แล้ว ขึ้น 8 วินาที 80/tcp inspiring_boyd
root@host:~# wget http://localhost
--2021-09-14 22:56:32-- http://localhost/
กำลังแก้ไข localhost (localhost)... 127.0.0.1
กำลังเชื่อมต่อกับ localhost (localhost)|127.0.0.1|:80... ล้มเหลว: การเชื่อมต่อถูกปฏิเสธ
root@host:~# netstat -an | ฟัง
tcp 0 0 0.0.0.0:22 0.0.0.0:* ฟัง
tcp6 0 0 :::22 :::* ฟัง
และแม้ว่าจะไม่ได้ติดตั้ง nginx บนโฮสต์ แต่ก็ยังปรากฏขึ้น
root@host:~# ps ขวาน | grep nginx
4102 ? Ss 0:00 nginx: ปิดกระบวนการหลัก nginx -g daemon;
4134 ? S 0:00 nginx: กระบวนการของผู้ปฏิบัติงาน
และภายในนักเทียบท่า
root@host:~# นักเทียบท่า exec -it 0be6e751cd6d sh
/ # netstat -an | ฟัง
tcp 0 0 0.0.0.0:80 0.0.0.0:* ฟัง
tcp 0 0 :::80 :::* ฟัง
/ # ps ขวาน | grep nginx
1 รูท 0:00 nginx: กระบวนการหลัก nginx -g daemon ปิด;
5 nginx 0:00 nginx: กระบวนการของผู้ปฏิบัติงาน
12 รูท 0:00 grep nginx
/ # wget http://localhost
กำลังเชื่อมต่อกับ localhost (127.0.0.1:80)
กำลังเชื่อมต่อกับ localhost (127.0.0.1:443)
wget: ไม่สามารถเชื่อมต่อกับรีโมตโฮสต์ (127.0.0.1): การเชื่อมต่อถูกปฏิเสธ