Score:2

รับ Wordpress+Apache เพื่อทำงานเบื้องหลัง nginx reverse-proxy

ธง mp

ฉันกำลังพยายามตั้งค่าต่อไปนี้:

  • คอนเทนเนอร์นักเทียบท่าที่มี nginx บน localhost เป็นพร็อกซีย้อนกลับสำหรับ Wordpress ฟังบน localhost:80 นอกจากนี้ยังใช้เป็น reverse-proxy สำหรับไมโครเซอร์วิสอื่นๆ
  • นักเทียบท่าเขียนคอนเทนเนอร์ด้วย Wordpress + Apache ฟังบน localhost:4261 docker-compose.yaml ถูกนำมาจาก ตัวอย่างเป็นทางการ. คำสั่ง 'พอร์ต' เปลี่ยนจาก "8000:80" --> "4261:80"

ฉันลองทำตามคำแนะนำและตัวแก้ไขปัญหามากมาย แต่ nginx ยังคงตอบสนองด้วย "การเชื่อมต่อ 111 ถูกปฏิเสธ" คำถามที่คล้ายกัน (ซึ่งไม่ได้ผลสำหรับฉัน): ที่นี่ และ ที่นี่.

ความคิดใด ๆ ?

การกำหนดค่า nginx:

เซิร์ฟเวอร์ {
    # ฟัง HTTPS
    ฟัง [::]:443 ssl ipv6only=เปิด;
    ฟัง 443 ssl; 

    ชื่อเซิร์ฟเวอร์ ${NGINX_URL};
    ssl_certificate /certs/certificate.pem;
    ssl_certificate_key /certs/private.key;
    
    ตำแหน่ง /wp/ {
        เขียนใหม่ ^/wp/?(.*)$ /$1 ตัวแตก;
        proxy_pass http://localhost:4261/;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-ส่งต่อเซิร์ฟเวอร์ $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port 443;
        proxy_set_header โฮสต์ $http_host;
        proxy_set_header อัพเกรด $http_upgrade;
        proxy_set_header การเชื่อมต่อ "อัพเกรด";
        เปิด proxy_pass_request_headers;
    }
    ...
}

wp-config.php:

...
// หากเราอยู่เบื้องหลังพร็อกซีเซิร์ฟเวอร์และใช้ HTTPS เราจำเป็นต้องแจ้งเตือน WordPress ถึงข้อเท็จจริงนั้น
// ดูเพิ่มเติมที่ https://wordpress.org/support/article/administration-over-ssl/#using-a-reverse-proxy
ถ้า (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== เท็จ) {
    $_SERVER['HTTPS'] = 'เปิด';
}
...
Score:1
ธง in

nginx ของคุณพยายามเชื่อมต่อกับ localhost ข้างใน คอนเทนเนอร์ คุณต้องใช้เครือข่ายโฮสต์สำหรับคอนเทนเนอร์หรือไม่ก็จำเป็น เชื่อมโยงคอนเทนเนอร์ nginx ไปยังคอนเทนเนอร์ WordPress

ในไฟล์ docker-compose ที่จะเป็น:

ลิงก์ภายนอก:
  - เวิร์ดเพรส: เวิร์ดเพรส

จากนั้นคุณสามารถใช้

proxy_pass http://wordpress/

ในการกำหนดค่า nginx ของคุณ คุณไม่จำเป็นต้องเปิดเผยพอร์ตใดๆ ในคอนเทนเนอร์ WordPress

mp flag
ไม่ได้แก้ปัญหาของฉัน แต่ชี้ให้ฉันไปในทิศทางที่ถูกต้อง (วางทั้งสองโครงการในเครือข่ายเดียวกัน) ขอบคุณ!

โพสต์คำตอบ

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