เว็บไม่ใช่สาขาของฉัน แต่ฉันคิดว่าฉันจัดการได้
จุดประสงค์ค่อนข้างง่าย:
มี 3 บริการที่ฉันต้องการให้บริการจาก Virtual Machine เครื่องเดียวกันในเครือข่ายเดียวกัน
ยืดหยุ่น:8881 > ssl > :8881
kibana:5601 > ssl > :8882
เว็บเซิร์ฟเวอร์:80 > ssl < :443
ฉันจัดการเพื่อให้บริการ elastic และ kibana โดยไม่มีปัญหาใด ๆ ตามเอกสารประกอบพร้อมการกำหนดค่านี้บน nginx :
/etc/nginx/conf.d/servestuff.conf
ssl_certificate /etc/ssl/certs/nginx-autosigne.crt;
ssl_certificate_key /etc/ssl/private/nginx-autosigne.key;
การค้นหาแบบยืดหยุ่นต้นน้ำ {
เซิร์ฟเวอร์ 127.0.0.1:9200;
Keepalive 15;
}
ต้นน้ำ kibana {
เซิร์ฟเวอร์ 127.0.0.1:5601;
Keepalive 15;
}
เซิร์ฟเวอร์ {
ฟัง 8881 ssl;
ที่ตั้ง / {
auth_basic "จำกัดการเข้าถึง";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://elasticsearch;
ปิด proxy_redirect;
ปิด proxy_buffering;
proxy_http_version 1.1;
การเชื่อมต่อ proxy_set_header "Keep-Alive";
proxy_set_header การเชื่อมต่อพร็อกซี "Keep-Alive";
}
}
เซิร์ฟเวอร์ {
ฟัง 8882 ssl;
ที่ตั้ง / {
auth_basic "จำกัดการเข้าถึง";
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://kibana;
ปิด proxy_redirect;
ปิด proxy_buffering;
proxy_http_version 1.1;
การเชื่อมต่อ proxy_set_header "Keep-Alive";
proxy_set_header การเชื่อมต่อพร็อกซี "Keep-Alive";
}
}
เนื่องจากฉันรู้สึกขี้เกียจ ไร้เดียงสา และขาดทักษะบางอย่าง ฉันคิดว่าฉันสามารถให้บริการเว็บด้วยบล็อคนี้:
ต้นน้ำ thewebthing {
เซิร์ฟเวอร์ 127.0.0.1:443;
Keepalive 15;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name thewebthing;
large_client_header_buffers 4 16k;
ที่ตั้ง / {
error_log /var/log/nginx/thewebthing.log ข้อมูล;
รูท /var/www/thewebthing/public;
ดัชนี index.html index.htm index.php;
proxy_pass http://thewebthing;
ปิด proxy_redirect;
ปิด proxy_buffering;
proxy_http_version 1.1;
การเชื่อมต่อ proxy_set_header "Keep-Alive";
proxy_set_header การเชื่อมต่อพร็อกซี "Keep-Alive";
}
}
ฉันรู้ว่ามันไม่ง่ายอย่างนั้น ฉันพยายามแก้ไขปัญหาบันทึกการอ่านโดยให้:
==> /var/log/nginx/access.log <==
127.0.0.1 - - [25/มี.ค./2022:16:45:29 +0100] "GET /var/www/thewebthing/public/index.php HTTP/1.1" 400 271 "-" "curl/7.64.0"
192.168.2.249 - - [25/มี.ค./2022:16:45:29 +0100] "GET /var/www/thewebthing/public/index.php HTTP/1.1" 400 271 "-" "curl/7.64.0"
==> /var/log/nginx/thewebthing.log <==
2022/03/25 16:45:29 [ข้อมูล] 863#863: *4531 ไคลเอ็นต์ 192.168.2.249 ปิดการเชื่อมต่อ Keepalive
ขดให้ฉันนี้:
curl -k https://192.168.2.249/var/www/thewebthing/public/index.php
<html>
<head><title>400 คำขอ HTTP ธรรมดาถูกส่งไปยังพอร์ต HTTPS</title></head>
<ตัว bgcolor="สีขาว">
<center><h1>400 คำขอไม่ถูกต้อง</h1></center>
<center>คำขอ HTTP ธรรมดาถูกส่งไปยังพอร์ต HTTPS</center>
<hr><center>nginx/1.14.2</center>
</body>
</html>
ฉันเดาว่ามันเกี่ยวข้องกับ nginx เมื่อพิจารณาว่าฉันให้คำขอ http กับ https
443 ถูกเปิด แต่ไม่ใช่ 80 :
เอสเอส -lapunte | grep -E '443|80'
tcp ฟัง 0 128 0.0.0.0:443 0.0.0.0:* ino:66759 sk:1d <->
ฉันไม่มีไฟร์วอลล์ ไม่มี apparmor หรือ Selinux สิทธิ์เป็น www-data ฉันพยายามเพิ่มการบันทึก
ดังที่คุณสังเกตเห็นว่าฉันไม่สบายใจกับสิ่งบนเว็บ นั่นเป็นเหตุผลที่ฉันกำลังมองหาคำแนะนำเบาะแสที่จะผลักดันฉันในเส้นทางที่ถูกต้อง
ขอบคุณคนแปลกหน้าใจดี