Tôi đã tìm kiếm trên các diễn đàn (và các nơi khác trên web) và đã tìm thấy thông tin có liên quan nhưng dường như không giống nhau. Hy vọng rằng tôi không sao chép ở đây.
Tôi có một trang web đang chạy trên máy chủ Apache. Nó đã có chứng chỉ SSL (thông qua LetsEncrypt) và chạy mà không gặp sự cố.
Gần đây tôi đã thiết lập một máy 'phía trước' máy đang chạy Nginx. Máy đó phục vụ ba miền (với một chứng chỉ từ LetsEncrypt).
Tôi muốn chuyển các yêu cầu cho miền trên máy Apache thông qua Nginx nhưng gặp sự cố khi tìm ra các cài đặt phù hợp. Trước đây tôi đã làm điều này với hai máy phục vụ Apache mà không gặp nhiều khó khăn nhưng tôi mới làm quen với Nginx và rõ ràng là chưa đủ thành thạo với nó.
Thiết lập máy chủ ảo mà tôi có trên máy truy cập mạng Nginx (thông qua bộ định tuyến) là:
người phục vụ {
nghe domain.pointing.to.apache.com:443 ssl;
server_name domain.pointing.to.apache.com;
địa điểm / {
gốc 192.168.11.14/var/www/html/;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass domain.pointing.to.apache.com;
}
}
Nhưng, tất nhiên, Nginx không thích điều này và sẽ không tải lại sau khi thêm so với. Mọi lời khuyên, v.v. sẽ được đánh giá cao nhất.
Lưu ý - Tôi đoán điều đó là hiển nhiên nhưng 192.168.11.14 nằm sau bộ định tuyến của tôi và không được hiển thị trực tiếp trên mạng.
Jason
Chỉnh sửa/Cập nhật:
Thông tin quan trọng bị thiếu trong yêu cầu ban đầu của tôi:
Máy Nginx đối diện mạng mà tôi muốn đảo ngược proxy sang Apache cũng đang phục vụ ba miền phụ của miền chính mà tôi muốn đảo ngược proxy (sub1.mydomain.com, sub2.mydomain.com, sub3.mydomain.com). Cả ba đều chia sẻ một chứng chỉ SSL từ LetsEncrypt.
Máy chủ Apache trên mạng cục bộ cũng có chứng chỉ do LetsEncrypt cấp đang phục vụ mydomain.com cho đến khi tôi đặt máy Nginx trước nó.
Bây giờ tôi đã xóa chứng chỉ SSL trên máy Apache, xóa máy chủ ảo https và có một máy chủ ảo đơn giản được thiết lập cho cổng 80.
Cài đặt Nginx mặc định của tôi sẽ gửi yêu cầu tới http //www.mydomain.com, trang này hiện chỉ chia sẻ một trang html rất nhàm chán.
Tôi đã cài đặt chứng chỉ SSL cho miền https //www.mydomain.com trên hộp Nginx và muốn sử dụng đề xuất do Tero cung cấp để đảo ngược các yêu cầu https proxy trên mydomain.com đến và từ hộp Apache cục bộ. Như sau:
người phục vụ {
nghe 443 ssl;
ssl_certificate /etc/letsencrypt/live/www.mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.mydomain.com/privkey.pem;
server_name www.mydomain.com;
địa điểm / {
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://192.168.11.14;
}
}
Vấn đề là tôi đang gặp lỗi 502 Bad Gateway từ máy Nginx...vì vậy tôi đoán là có gì đó không ổn với cài đặt Nginx...Tôi đang tiến gần đến nhưng chưa hoàn toàn ở đó. Ngoài ra, tôi nhận thấy rằng những nỗ lực để truy cập www.mydomain.com không có https không còn phục vụ trang html nhàm chán...chúng được chuyển/viết lại thành https -> www.mydomain.com và đến cùng 502 cổng xấu.