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 và đâ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';
}
...