ฉันซื้อ VPS ใหม่, ติดตั้งเซิร์ฟเวอร์ Ubuntu 20.04, nginx,php7.4-fpm,MariaDB ผ่าน apt.
ฉัน scp อัปโหลดโครงการ PHP (ทำงานบนแล็ปท็อป Ubuntu 20.04) ของฉัน
ฉันเห็นหน้า 'ขอบคุณที่ใช้ nginx' ทั้งผ่าน ssh curl และผ่านเบราว์เซอร์จากแล็ปท็อปของฉัน แต่เมื่อฉันพยายามใช้ dm.mydomain.tld
ทั้งสองกลับมาสังเกต คำขอถูกเข้าสู่ระบบ access.log
กรรมสิทธิ์ของ /var/www/dm
เป็นรากเช่นเดียวกับ /var/www/html
. ปิดใช้งาน UFW ไม่มี SELINUX
เดอะ dm.conf
มีดังนี้
เซิร์ฟเวอร์ {
ฟัง 443 ssl; #http2 ;
ฟัง [::]:443 ssl; #http2;
ราก /var/www/dm;
ssl_certificate /etc/ssl/certs/cloudflaresource.pem;
ssl_certificate_key /etc/ssl/private/cloudflaresource.key;
# เพิ่ม index.php ในรายการหากคุณใช้ PHP
ดัชนี index.php; # index.html index.htm index.nginx-debian.html;
server_name dm.mydomain.tld;
เปิดดัชนีอัตโนมัติ;
ที่ตั้ง / {
# ความพยายามครั้งแรกในการให้บริการคำขอเป็นไฟล์ จากนั้น
# เป็นไดเร็กทอรี จากนั้นถอยกลับไปแสดง 404
try_files $uri $uri/ =404;
}
ตำแหน่ง ~ \.php$ {
fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
}
}
เอาต์พุต curl จากคอนโซล ssh:
root@VPS:~# curl -vk https://dm.mydomain.tld
* ลอง 127.0.0.1:443...
* ตั้งค่า TCP_NODELAY
* เชื่อมต่อกับ dm.mydomain.tld (127.0.0.1) พอร์ต 443 (#0)
* ALPN ให้บริการ h2
* ALPN ให้บริการ http/1.1
* ตั้งค่าตำแหน่งการตรวจสอบใบรับรองสำเร็จแล้ว:
* ไฟล์ CA: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
* TLSv1.3 (IN), การจับมือ TLS, สวัสดีเซิร์ฟเวอร์ (2):
* TLSv1.3 (IN), TLS handshake, ส่วนขยายที่เข้ารหัส (8):
* TLSv1.3 (IN), การจับมือ TLS, ใบรับรอง (11):
* TLSv1.3 (IN), TLS handshake, CERT ยืนยัน (15):
* TLSv1.3 (IN), การจับมือ TLS, เสร็จสิ้น (20):
* TLSv1.3 (ออก), TLS เปลี่ยนรหัส, เปลี่ยนข้อมูลจำเพาะของรหัส (1):
* TLSv1.3 (ออก), การจับมือ TLS, เสร็จสิ้น (20):
* การเชื่อมต่อ SSL โดยใช้ TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN เซิร์ฟเวอร์ที่ยอมรับให้ใช้ h2
* ใบรับรองเซิร์ฟเวอร์:
* หัวเรื่อง: O=CloudFlare, Inc.; OU=CA ต้นทาง CloudFlare; CN=ใบรับรองแหล่งกำเนิด CloudFlare
* วันที่เริ่มต้น: 5 มีนาคม 07:31:00 น. 2022 GMT
* วันหมดอายุ: 1 มี.ค. 07:31:00 2037 GMT
* ผู้ออก: C=US; O=CloudFlare, Inc.; OU=ผู้ออกใบรับรอง SSL ต้นทางของ CloudFlare; L=ซานฟรานซิสโก; ST=แคลิฟอร์เนีย
* ผลการตรวจสอบใบรับรอง SSL: ไม่สามารถรับใบรับรองผู้ออกในท้องถิ่น (20) ดำเนินการต่อไป
* การใช้ HTTP2 เซิร์ฟเวอร์รองรับการใช้งานหลายอย่าง
* เปลี่ยนสถานะการเชื่อมต่อ (ยืนยัน HTTP/2)
* การคัดลอกข้อมูล HTTP/2 ในสตรีมบัฟเฟอร์ไปยังบัฟเฟอร์การเชื่อมต่อหลังจากอัปเกรด: len=0
* ใช้ Stream ID: 1 (จัดการง่าย 0x561a6f79e880)
> เก็ท / HTTP/2
> โฮสต์: dm.mydomain.tld
> user-agent: curl/7.68.0
> ยอมรับ: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* ID เซสชัน SSL เก่าเก่า กำลังลบออก
* เปลี่ยนสถานะการเชื่อมต่อ (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< เซิร์ฟเวอร์: nginx/1.18.0 (Ubuntu)
< วันที่: วันเสาร์ที่ 05 มีนาคม 2022 13:58:11 GMT
< ประเภทเนื้อหา: text/html; ชุดอักขระ = UTF-8
<
* การเชื่อมต่อ #0 ไปยังโฮสต์ dm.mydomain.tld ยังคงอยู่
คุณจะเห็นว่าคำตอบนั้นว่างเปล่า
นอกจากนี้นี่คือ access.log
รายการ.
127.0.0.1 - - [05/มี.ค./2022:15:44:13 +0100] "GET / HTTP/2.0" 200 0 "-" "curl/7.68.0"
UPDATE: ฉันสร้างไฟล์ html และม้วนงอ มันใช้งานได้ดี แต่สำหรับ php helloworkd อย่างง่าย มันไม่เวิร์ค