Tôi đã quen sử dụng Apache với mod_proxy_html và đang cố gắng đạt được điều gì đó tương tự với NGINX. Trường hợp sử dụng cụ thể là tôi có giao diện người dùng quản trị chạy trong Tomcat trên cổng 8080 trên máy chủ ở ngữ cảnh gốc:
http://localhost:8080/
Tôi cần hiển thị điều này trên cổng 80, nhưng tôi có các ngữ cảnh khác trên máy chủ NGINX đang chạy trên máy chủ này, vì vậy tôi muốn thử và truy cập vào tại:
http://localhost:80/admin/
Tôi đã hy vọng rằng khối máy chủ siêu đơn giản sau sẽ làm được điều đó, nhưng nó không hoàn toàn:
server {
listen 80;
server_name screenly.local.akana.com;
location /admin/ {
proxy_pass http://localhost:8080/;
}
}
Vấn đề là nội dung trả về (html) chứa URL đến tập lệnh và thông tin kiểu đều được truy cập ở ngữ cảnh gốc, vì vậy tôi cần viết lại các URL này để bắt đầu bằng / admin / thay vì /.
Làm cách nào để thực hiện việc này trong NGINX?