Score:0

การใช้ Nginx เป็นทั้งเว็บเซิร์ฟเวอร์และพร็อกซีย้อนกลับทำให้เกิดปัญหา

ธง cf

ฉันกำลังพยายามตั้งค่า Nginx เป็นทั้งเว็บเซิร์ฟเวอร์สำหรับ wordpress และเป็น reverse proxy เพื่อให้บริการทั้ง pihole (ซึ่งใช้ lighttpd) และเซิร์ฟเวอร์อื่น ๆ อย่างไรก็ตาม หลังจากกำหนดค่าแล้ว ฉันพบปัญหาแปลกๆ เมื่อฉันมีของฉัน ย้อนกลับ-proxy.conf ไฟล์ภายในไซต์ของฉัน เปิดใช้งานไซต์ โฟลเดอร์ไปที่ที่อยู่ IP โดยตรงจะแสดงเฉพาะหน้าต้อนรับเริ่มต้นของ Nginx เท่านั้น อย่างไรก็ตาม เมื่อฉันยกเลิกการเชื่อมโยง ย้อนกลับ-proxy.conf, wordpress ปรากฏขึ้น ฉันทำอะไรผิดที่นี่?

nginx.conf

ผู้ใช้ www-data;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;

เหตุการณ์ {
    worker_connections 768;
    # multi_accept บน;
}

http {

    ##
    # การตั้งค่าพื้นฐาน
    ##

    ส่งไฟล์บน;
    tcp_nopush บน;
    tcp_nodelay บน;
    keepalive_timeout 65;
    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;

    ##
    # การตั้งค่าการบันทึก
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # การตั้งค่า Gzip
    ##

    เปิด gzip;

    # gzip_vary บน;
    # gzip_proxyed ใด ๆ ;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types ข้อความ/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/ข้อความจาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;

    ##
    # การกำหนดค่าโฮสต์เสมือน
    ##

    รวม /etc/nginx/conf.d/*.conf;
    รวม /etc/nginx/sites-enabled/*;
}


#จดหมาย {
# # ดูตัวอย่างสคริปต์การตรวจสอบได้ที่:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "ผู้ใช้";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
# เซิร์ฟเวอร์ {
# ฟัง localhost:110;
#โปรโตคอลpop3;
# เปิดพร็อกซี;
# }
# 
# เซิร์ฟเวอร์ {
# ฟัง localhost:143;
# โปรโตคอล imap;
# เปิดพร็อกซี;
# }
#}

ค่าเริ่มต้น

##
# คุณควรดู URL ต่อไปนี้เพื่อทำความเข้าใจที่แน่นอน
# ของไฟล์การกำหนดค่า Nginx เพื่อปลดปล่อยพลังของ Nginx ได้อย่างเต็มที่
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# ในกรณีส่วนใหญ่ ผู้ดูแลระบบจะลบไฟล์นี้ออกจากไซต์ที่เปิดใช้งาน/ และ
# ปล่อยให้เป็นข้อมูลอ้างอิงภายในไซต์ที่มีอยู่ซึ่งจะยังคงอยู่ต่อไป
# อัปเดตโดยทีมบรรจุภัณฑ์ nginx
#
# ไฟล์นี้จะโหลดไฟล์การกำหนดค่าที่ผู้อื่นให้มาโดยอัตโนมัติ
# แอปพลิเคชัน เช่น Drupal หรือ Wordpress แอปพลิเคชันเหล่านี้จะทำขึ้น
# อยู่ภายใต้เส้นทางที่มีชื่อแพ็คเกจนั้น เช่น /drupal8
#
# โปรดดู /usr/share/doc/nginx-doc/examples/ สำหรับตัวอย่างโดยละเอียดเพิ่มเติม
##

# การกำหนดค่าเซิร์ฟเวอร์เริ่มต้น
#
เซิร์ฟเวอร์ {
    ฟัง 80 default_server;
    ฟัง [::]:80 default_server;

    # การกำหนดค่า SSL
    #
    # ฟัง 443 ssl default_server;
    # ฟัง [::]:443 ssl default_server;
    #
    # หมายเหตุ: คุณควรปิดการใช้งาน gzip สำหรับการรับส่งข้อมูล SSL
    # ดู: https://bugs.debian.org/773332
    #
    # อ่านข้อมูลเพิ่มเติมเกี่ยวกับ ssl_ciphers เพื่อให้แน่ใจว่ามีการกำหนดค่าที่ปลอดภัย
    # ดู: https://bugs.debian.org/765782
    #
    # ใบรับรองที่ลงนามด้วยตนเองที่สร้างขึ้นโดยแพ็คเกจ ssl-cert
    # ห้ามใช้ในเซิร์ฟเวอร์ที่ใช้งานจริง!
    #
    # รวมตัวอย่าง/snakeoil.conf;

    ราก /var/www/wordpress;

    # เพิ่ม index.php ในรายการหากคุณใช้ PHP
    ดัชนี index.html index.htm index.nginx-debian.html index.php;

    ชื่อเซิร์ฟเวอร์ _;

    ที่ตั้ง / {
        # ความพยายามครั้งแรกในการให้บริการคำขอเป็นไฟล์ จากนั้น
        # เป็นไดเร็กทอรี จากนั้นถอยกลับไปแสดง 404
        try_files $uri $uri/ =404;
    }

    # ส่งสคริปต์ PHP ไปยังเซิร์ฟเวอร์ FastCGI
    #
    ตำแหน่ง ~ \.php$ {
        รวมตัวอย่าง/fastcgi-php.conf;
    #
    # # ด้วย php-fpm (หรือซ็อกเก็ตยูนิกซ์อื่น ๆ ):
        fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
    # # ด้วย php-cgi (หรือซ็อกเก็ต tcp อื่น ๆ ):
    # fastcgi_pass 127.0.0.1:9000;
    }

    # ปฏิเสธการเข้าถึงไฟล์ .htaccess ถ้ารูทเอกสารของ Apache
    # เห็นด้วยกับของ nginx
    #
    #location ~ /\.ht {
    #ปฏิเสธทั้งหมด
    #}
}


# การกำหนดค่าโฮสต์เสมือนสำหรับ example.com
#
# คุณสามารถย้ายไปยังไฟล์อื่นภายใต้ไซต์ที่มีจำหน่าย/ และ symlink ที่
# เพื่อเปิดใช้งานไซต์ / เพื่อเปิดใช้งาน
#
#เซิร์ฟเวอร์ {
# ฟัง 80;
# ฟัง [::]:80;
#
# server_name example.com;
#
# ราก /var/www/example.com;
# ดัชนี index.html;
#
#   ที่ตั้ง / {
# try_files $uri $uri/ =404;
# }
#}

ย้อนกลับ-proxy.conf

 เซิร์ฟเวอร์ {
  #แทนที่ Xs ด้านล่างด้วย IP ของคุณ
  ฟัง 192.168.1.29:80;
   ตำแหน่ง /pihole/ {
   อนุญาต 192.168.1.0/24;
   ปฏิเสธทั้งหมด
   proxy_pass http://192.168.1.29:82/admin/;
   proxy_set_header โฮสต์ $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-ส่งต่อ-สำหรับ 
   $proxy_add_x_forwarded_for;
   proxy_read_timeout 90;
  }
}
djdomi avatar
za flag
server_name หายไปในการกำหนดค่าแบบย้อนกลับ... อย่างไรก็ตาม Raspi Pihole บอกฉันว่าคำถามนี้นอกประเด็น เนื่องจากเป็นคำถามประจำบ้านและผู้ใช้ปลายทาง
Score:1
ธง jp

ฉันถือว่าคุณกำลังเข้าถึง WordPress และ /หลุม/ โดยใช้ชื่อโดเมนเดียวกัน (เช่น ที่อยู่ IP) http://192.168.1.29/. ซึ่งในกรณีนี้ ทั้งคู่ต้องอยู่ใน เหมือนกัน เซิร์ฟเวอร์ บล็อก ไม่ใช่สองเซิร์ฟเวอร์บล็อกอย่างที่คุณมีตอนนี้

ในการกำหนดค่าที่มีอยู่ของคุณ ฟัง 192.168.1.29:80; มีความสำคัญเหนือกว่า ฟัง 80 default_server; สำหรับการเชื่อมต่อกับพอร์ต 80 ที่จ่าหน้าถึง 192.168.1.29.

ProGamer1 avatar
cf flag
ขอบคุณ! สิ่งนี้ช่วยแก้ปัญหาของฉัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา