Trong nhiều ngày, tôi không thể giải quyết được vấn đề sau:
Chúng tôi có một ứng dụng (Faveo) có hai yêu cầu để đi qua trình hướng dẫn thiết lập:
HTTPS & MOD_REWRITE.
Faveo đang chạy trên Apache2 với ReverseProxy phía trước nó trong DMZ của chúng tôi.
Nếu tôi chạy ReverseProxy của chúng tôi với một cách đơn giản
địa điểm / {
proxy_pass http://XXX.XXX.XXX.XXX;
}
mod_rewrite (được bật Apache-Side, phục vụ Faveo) dường như công việc và Faveo-Wizard chuyển sang màu xanh lục.
Tuy nhiên - Ứng dụng là không phải phục vụ với HTTPS.
Vì vậy, tôi không thể nhấp vào "Tiếp tục":
Nhấp vào đây! (http; mod_rewrite)
Nếu bây giờ tôi lặp qua các đối số sau:
địa điểm / {
proxy_pass http://xxx.xxx.xxx.xxx;
proxy_set_header X-Real-IP $remote_addr;
máy chủ proxy_set_header $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Faveo bây giờ được gọi là với HTTPS, nhưng mod_rewrite không hoạt động thời gian này:
Nhấp vào đây! (HTTPS; không có mod_rewrite)
Điều này cũng không cho phép nhấp vào "tiếp tục".
Bạn có bất cứ ý tưởng? Làm cách nào tôi có thể chuyển HTTPS xuống Apache mà vẫn có thể sử dụng mod_rewrite ở phía Apache?
Cấu hình NGINX:
người phục vụ {
nghe 80;
server_name helpdesk.someurl.de;
trả về 301 https://$server_name$request_uri;
}
người phục vụ {
nghe 443 ssl http2;
ssl_protocols TLSv1.2;
server_name helpdesk.someurl.de;
# Kích hoạt SSL
ssl trên;
ssl_certificate /etc/letsencrypt/live/someurl.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/someurl.de/privkey.pem;
client_max_body_size 50M;
ssl_session_timeout 5 phút;
# Đặt cài đặt proxy toàn cầu
proxy_read_timeout 360;
địa điểm / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Máy chủ $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://XXX.XXX.XXX.XXX/;
}
error_log /var/log/nginx/helpdesk-ssl-error.log;
access_log /var/log/nginx/helpdesk-ssl-access.log;
}
Apache2:
<VirtualHost *:80>
ServerName helpdesk.someurl.de
ServerAdmin webmaster@localhost
DocumentRoot /var/www/faveo/public
<Directory /var/www/faveo/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Nếu bây giờ tôi xóa
proxy_set_header Máy chủ $http_host;
Từ NGINX-Config, HTTPS bị tắt nhưng mod_rewrite vẫn hoạt động.
Nếu nó được bật, tôi sẽ nhận được HTTPS, nhưng không có mod_rewrite.