ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์ Stealth VPN ของตัวเองโดยใช้ NGINX 1.18 ใน Debian 11 ฉันทำตาม คู่มือนี้ แต่คำสั่งหลายคำสั่งไม่ทำงาน ปัญหาคือเมื่อฉันออก nginx -t
คำสั่งทดสอบเอาต์พุตคือ:
- nginx: [ฉุกเฉิน] ตัวแปร "ssl_preread_server_name" ที่ไม่รู้จัก
ฉันเปลี่ยนตัวแปรนี้จาก $ssl_preread_server_name
ถึง $server_name
หากปัญหาเกิดขึ้นกับตัวแปรเฉพาะนี้เท่านั้น และเพื่อดูว่ามีข้อผิดพลาดอื่นๆ หรือไม่ แสดงว่าการทดสอบผ่านแต่พบข้อผิดพลาดของตัวแปรอื่น อันนี้:
- nginx: [โผล่ออกมา] ตัวแปร "ชื่อ" ที่ไม่รู้จัก `
ซึ่งอยู่ในบล็อกรหัสเซิร์ฟเวอร์ล่าสุดของฉันใน nginx.conf
ไฟล์ os ฉันไม่คาดหวังว่าจะพบข้อผิดพลาดอีก ฉันตรวจสอบฐานข้อมูลดั้งเดิมของตัวแปร Nginx และตัวแปร $ชื่อ
และ $ssl_preread_server_name
เป็นทางการและมีอยู่จริง ไกด์ที่ฉันติดตามบอกว่าพวกเขาควรได้รับการจัดสรรแบบนี้ และไม่มีไกด์อื่นบนอินเทอร์เน็ต ดังนั้นฉันเลยติดอยู่
จนถึงตอนนี้ฉันเพิ่งมีปัญหากับตัวแปรสองตัวนั้น ตั้งอยู่ใน แผนที่
บล็อกและสุดท้าย เซิร์ฟเวอร์
บล็อก.
ขอบคุณมากสำหรับความช่วยเหลือของคุณ
นี่คือรหัสทั้งหมดของฉัน:
ผู้ใช้ www-data;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;
เหตุการณ์ {
worker_connections 768;
# multi_accept บน;
}
http {
##
# การตั้งค่าพื้นฐาน
##
ส่งไฟล์บน;
tcp_nopush บน;
types_hash_max_size 2048;
# ปิด server_tokens;
# server_names_hash_bucket_size 64;
# server_name_in_redirect ปิด;
รวม /etc/nginx/mime.types;
แอปพลิเคชัน default_type/octet-stream;
##
# การตั้งค่า SSL
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # วาง SSLv3 อ้างอิง: พุดเดิ้ล
เปิด ssl_prefer_server_ciphers;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
##
#เซิฟเวอร์
##
เซิร์ฟเวอร์ {
# server_name 206.189.21.228;
ฟัง 127.0.0.1:8000;
}
##
# แผนที่
##
แผนที่ $ssl_preread_server_name $name {
https เริ่มต้น;
206.189.21.228 VPN;
}
##
# การตั้งค่าการบันทึก
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# การตั้งค่า Gzip
##
เปิด gzip;
##
# การกำหนดค่าโฮสต์เสมือน
##
รวม /etc/nginx/conf.d/*.conf;
รวม /etc/nginx/sites-enabled/*;
}
ลำธาร {
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
ต้นน้ำ https {
เซิร์ฟเวอร์ยูนิกซ์:/etc/nginx/nginx_writing;
}
ต้นทาง vpn {
ยูนิกซ์เซิร์ฟเวอร์:/etc/openvpn/openvpn_writing;
}
เซิร์ฟเวอร์ {
ฟังยูนิกซ์:/etc/nginx/nginx_writing ssl;
# openvpn ไม่รองรับยูนิกซ์ซ็อกเก็ต
proxy_pass 127.0.0.1:1194;
}
เซิร์ฟเวอร์ {
ฟังยูนิกซ์:/etc/nginx/nginx_writing2 ssl;
# สามารถใช้ซ็อกเก็ตยูนิกซ์ได้ที่นี่
proxy_pass 127.0.0.1:8000;
}
เซิร์ฟเวอร์ {
ฟัง [::]:443 ipv6only=ปิด;
proxy_protocol บน;
proxy_pass $ชื่อ;
}
}