Score:0

nginx กำลังรับ GET / request แม้ว่ามันจะผิดก็ตาม

ธง us

ดังนั้นฉันจึงรันคอนเทนเนอร์ nginx ด้วย docker-compose:

บริการ:
  จิงซ์:
    สร้าง:
      บริบท: .
      นักเทียบท่าไฟล์: Dockerfile
    รีสตาร์ท: เสมอ
    ชื่อคอนเทนเนอร์: webserver_nginx
    ชื่อโฮสต์: nginx
    stop_grace_period: 1 นาที 30 วินาที

    ตรวจสุขภาพ:
      ทดสอบ: ["CMD-SHELL", "curl -sf http://127.0.0.1/ -o /dev/null || exit 1"]
      ช่วงเวลา: 1m30s
      หมดเวลา: 10 วินาที
      ลองใหม่: 3
      start_period: 40 วินาที

    พอร์ต:
      - 443:443
      - 80:80

    ปริมาณ:
      # ข้อ จำกัด บริการด้วยรหัสผ่าน
      - ./.credentials/.htpasswd:/var/.credentials/.htpasswd

      # การกำหนดค่า Nginx
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./proxy_params:/etc/nginx/proxy_params
      - ./conf:/etc/nginx/conf.d

      #Nginx ให้บริการไฟล์คงที่
      - /var/backups/off:/var/web_data/off


      # การบันทึก Nginx
      - /var/log/nginx:/var/log/nginx

    เครือข่าย:
      - เว็บเซิร์ฟเวอร์_เครือข่าย

เครือข่าย:
  เว็บเซิร์ฟเวอร์_เครือข่าย:
    ภายนอก: จริง

ไฟล์นักเทียบท่า:

จาก nginx

CMD ["nginx", "-g", "daemon off;"]

nginx.conf ของฉัน:

ผู้ใช้ nginx;
worker_processes อัตโนมัติ

error_log /var/log/nginx/error.log เตือน;
pid /var/run/nginx.pid;

เหตุการณ์ {
    worker_connections 1024;
}

http {
    รวม /etc/nginx/mime.types;
    แอปพลิเคชัน default_type/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request"'
                      '$สถานะ $body_bytes_sent "$http_referer"'
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log หลัก;

    ส่งไฟล์บน;
    keepalive_timeout 65;

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

และกำหนดค่าสำหรับคอนเทนเนอร์ของฉัน:

เซิร์ฟเวอร์ {
  ฟัง 80;
  ฟัง [::]:80;

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

  ตำแหน่ง / ผู้ดูแลระบบ {
    proxy_pass http://off:4000;
    proxy_set_header โฮสต์ $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
    proxy_read_timeout 100;
    proxy_http_version 1.1;
  }
  ตำแหน่ง / คงที่ {
    นามแฝง /var/web_data/off/collectstatic;
  }

  สถานที่ / สื่อ {
    นามแฝง /var/web_data/off/upload;
  }

  ที่ตั้ง / {
    กลับ 404;
  }
}

ดังนั้นเมื่อใดก็ตามที่ฉันพยายามร้องขอ http://name.com/admin ฉันได้รับบันทึกประเภทนี้จาก access.log:

127.0.0.1 - - [16/พฤษภาคม/2022:15:53:42 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.74.0" "-"
127.0.0.1 - - [16/พฤษภาคม/2022:15:55:12 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.74.0" "-"
127.0.0.1 - - [16/พฤษภาคม/2022:15:56:42 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.74.0" "-"

และฉันได้รับข้อผิดพลาด 502 Gateway จาก nginx บนเบราว์เซอร์ แม้ว่าฉันพยายามเข้าถึงเว็บไซต์หลักเช่น http://name.com/ ฉันยังคงได้รับข้อผิดพลาด 502 คอนเทนเนอร์ของฉันประกอบด้วย:

รุ่น: '3.8'

บริการ:
  ปิด:
    สร้าง:
      บริบท: .
      dockerfile: ปรับใช้/เบต้า/Dockerfile.dll
      หาเรื่อง:
        WORKING_DIR: /แอป
    container_name: ปิด
    ชื่อโฮสต์: django
    รีสตาร์ท: 'เสมอ'

    คำสั่ง: gunicorn -c deploy/beta/configs/gunicorn/conf.py --chdir api api.wsgi:application

    ปริมาณ:
      # รหัสแหล่งที่มาของโครงการ
      - .:/แอป
      # รวบรวมไฟล์คงที่
      - /var/backups/offch/collectstatic:/collectstatic
      # ไฟล์สื่อ (อัปโหลด)
      - /var/backups/offch/upload:/app/media/upload
      - /var/log/upstart:/var/log/พุ่งพรวด

    stop_grace_period: 1 นาที 30 วินาที

    ตรวจสุขภาพ:
      ทดสอบ: ["CMD", "curl", "-f", "http://127.0.0.1:4000"]
      ช่วงเวลา: 1m30s
      หมดเวลา: 10 วินาที
      ลองใหม่: 3
      start_period: 40 วินาที

    พอร์ต:
      - "4000:4000"

    เครือข่าย:
      - เว็บเซิร์ฟเวอร์_เครือข่าย

เครือข่าย:
  เว็บเซิร์ฟเวอร์_เครือข่าย:
    ภายนอก: จริง

แต่ฉันสามารถเข้าถึงไซต์ผ่าน ip และพอร์ต ฉันมีปัญหานี้กับ nginx เท่านั้น

djdomi avatar
za flag
สวัสดี สิ่งที่คุณต้องการใช้เป็นสิ่งสำคัญ นั่นหมายความว่าคุณควรใช้ 404 ก่อนจากนั้นตามด้วยคำสั่งผู้ดูแลระบบ imho
scaryhamid avatar
us flag
@djdomi สวัสดี ขอบคุณที่ตอบ แต่มันใช้งานไม่ได้ ฉันยังคงได้รับบันทึกเดียวกันจาก nginx access.log ฉันใช้การกำหนดค่านี้บนเซิร์ฟเวอร์อื่นแล้วและฉันมีปัญหานี้ที่นี่เท่านั้น
djdomi avatar
za flag
สิ่งที่เกิดขึ้นในขณะที่คุณปิดใช้งานส่วนสุดท้าย และใช้งานไม่ได้ไม่ใช่คำอธิบายข้อผิดพลาด ;) หากคุณเปลี่ยนการกำหนดค่าหรือสภาพแวดล้อม คุณต้องสะท้อนการเปลี่ยนแปลงในคำถามด้วย โปรดแสดงผลลัพธ์ของ `nginx -T`

โพสต์คำตอบ

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