Điểm:2

Nhận Wordpress + Apache để hoạt động đằng sau proxy ngược nginx

lá cờ mp

Tôi đang cố gắng thiết lập như sau:

  • bộ chứa docker với nginx trên localhost làm proxy ngược cho Wordpress, nghe trên localhost:80. Nó cũng được sử dụng làm proxy ngược cho các dịch vụ siêu nhỏ khác.
  • docker-compose container(s) với Wordpress+Apache, lắng nghe trên localhost:4261. docker-compose.yaml được lấy từ ví dụ chính thức. Chỉ thị 'cổng' đã được thay đổi từ "8000:80" --> "4261:80".

Tôi đã thử làm theo nhiều hướng dẫn và trình khắc phục sự cố, nhưng nginx vẫn phản hồi với "kết nối 111 bị từ chối". Các câu hỏi tương tự (không phù hợp với tôi): đâyđây.

Bất kỳ ý tưởng?

cấu hình nginx:

người phục vụ {
    # Nghe HTTPS
    lắng nghe [::]:443 ssl ipv6only=on;
    nghe 443 ssl; 

    server_name ${NGINX_URL};
    ssl_certificate /certs/certificate.pem;
    ssl_certificate_key /certs/private.key;
    
    vị trí /wp/ {
        viết lại ^/wp/?(.*)$ /$1 break;
        proxy_pass http://localhost:4261/;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port 443;
        proxy_set_header Máy chủ $http_host;
        proxy_set_header Nâng cấp $http_upgrade;
        proxy_set_header Kết nối "Nâng cấp";
        bật proxy_pass_request_headers;
    }
    ...
}

wp-config.php:

...
// Nếu chúng tôi đứng sau máy chủ proxy và sử dụng HTTPS, chúng tôi cần thông báo cho WordPress về sự thật đó
// xem thêm https://wordpress.org/support/article/administration-over-ssl/#using-a-reverse-proxy
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'bật';
}
...
Điểm:1
lá cờ in

Nginx của bạn đang cố kết nối với localhost phía trong thùng chứa. Bạn phải sử dụng mạng máy chủ cho vùng chứa hoặc bạn cần liên kết vùng chứa nginx vào vùng chứa WordPress.

Trong tệp docker-compose sẽ là:

liện kết ngoại:
  - wordpress:wordpress

Sau đó, bạn có thể sử dụng

proxy_pass http://wordpress/

trong cấu hình nginx của bạn. Bạn không cần để lộ bất kỳ cổng nào trong vùng chứa WordPress.

lá cờ mp
Không giải quyết được vấn đề của tôi, nhưng đã chỉ cho tôi đi đúng hướng (đặt cả hai dự án trên cùng một mạng). Cảm ơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.