Điểm:0

Không thể truy cập Bảng điều khiển Wordpress bằng proxy ngược nginx

lá cờ sd

Tôi đang gặp một chút vấn đề khi thiết lập WordPress với Nginx làm proxy ngược cho phụ trợ Apache. Tất cả các trang đang tải, nhưng tôi gặp lỗi khi cố đăng nhập vào bảng điều khiển wp-admin. lỗi là Xin lỗi, bạn không được phép truy cập trang này.

Tôi đã kiểm tra quyền đối với tệp, tiền tố cơ sở dữ liệu, .htaccess và thậm chí cả quyền quản trị usermeta trong db, tất cả dường như đều hoàn hảo. Trang web đã hoạt động hoàn toàn tốt trước khi tôi thiết lập proxy ngược nginx.

Đây là cấu hình apache2:

   <VirtualHost *:8081>
       DocumentRoot "/mnt/NAS/wp_data/wordpress/"
       ServerName my_site_url
       ServerAlias www.my_site_url
    
    <Directory "/mnt/NAS/wp_data/wordpress/">
       Options MultiViews FollowSymlinks
       AllowOverride All
       Order allow,deny
       Allow from all
    </Directory>
    
   </VirtualHost>

Đây là cổng apache.conf:

   #Nghe 80
   Nghe 8081

Đây là cấu hình nginx:

người phục vụ {
        nghe 80;
        nghe [::]:80;

        server_name my_site_url;

        viết lại ^ https://$server_name$request_uri? dài hạn;

}

người phục vụ {
        nghe 443 ssl;
        nghe [::]:443 ssl;

        server_name www.my_site_url my_site_url;

        địa điểm / {
                proxy_set_header Máy chủ lưu trữ $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_pass http://127.0.0.1:8081;
        }

        ssl_certificate /var/www/mycert/certificate.pem;
        ssl_certificate_key /var/www/mycert/private.key;
}

Cuối cùng nhưng không kém phần quan trọng của tôi wp-config.php là mặc định và tôi chưa thêm bất cứ thứ gì khác ngoài

nếu ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) {
nếu ( 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'bật';
}
}
nếu ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}
Mrwut avatar
lá cờ ng
Nó có hoạt động mà không có ssl không? Cũng cố gắng đặt `xác định('FORCE_SSL_ADMIN', true);` Ở phần đầu của tệp cấu hình và xem điều đó có hữu ích không.
lá cờ sd
Tôi đã thử thêm nó, không tạo ra sự khác biệt. Nhân tiện, tôi sử dụng một thư mục tùy chỉnh nơi tôi có thư mục wordpress của mình như được hiển thị ở trên. Tôi không sử dụng /var/www/ hoặc /var/www/html, tôi sử dụng thư mục /mnt/NAS/wp_data/wordpress. Tôi đã thêm cái này vào apache.conf và tôi cũng đã thêm nó vào www-data:www-data. Về mặt kỹ thuật đó không phải là một vấn đề. Tôi không thể đăng nhập vào khu vực wp-admin. Nó nói rằng bạn không được phép truy cập này. Tuy nhiên, tôi có thể sử dụng cùng một thư mục và cùng một tệp bằng cách xóa proxy nginx và chỉ sử dụng apache đơn giản như trước đây. Bất kỳ hướng dẫn nhiều hơn sẽ được đánh giá cao. Cảm ơn!
Mrwut avatar
lá cờ ng
Tôi muốn thêm nó vào wp-config.php. Nếu bạn đã thêm vào đó và kết quả vẫn như vậy, bạn có thể thử tìm kiếm một dòng như `define('DISALLOW_FILE_MODS',true);` trong wp-config.php và nếu nó ở đó, bạn có thể thử xóa nó và xem nếu nó giúp.
lá cờ sd
Không may mắn. Tôi có nên thử sử dụng nginx một mình cho wp thay vì proxy ngược không? Nếu vậy bạn có thể vui lòng cung cấp cho tôi cấu hình mẫu với ssl để tham khảo không?

Đă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.