几天来我一直无法理解以下问题:
我们有一个应用程序(Faveo),它有两个要求按照安装向导进行操作:
HTTPS 和 MOD_REWRITE。
Faveo 在我们的 DMZ 中的 Apache2 上运行,并且在其前面有一个 ReverseProxy。
如果我使用简单的方法运行 ReverseProxy
location / {
proxy_pass http://XXX.XXX.XXX.XXX;
}
mod_rewrite(启用了 Apache-Side,为 Faveo 提供服务)似乎工作Faveo-Wizard 变为绿色。
然而 -该应用程序是不是配HTTPS。
因此我无法点击“继续”: 点击我!(http; mod_rewrite)
如果我现在循环遍历以下参数:
location / {
proxy_pass http://xxx.xxx.xxx.xxx;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Faveo 现在被称为使用 HTTPS, 但mod_rewrite 不起作用这次: 点击我!(HTTPS;无 mod_rewrite) 这也不允许点击“继续”。
您有什么想法吗?我怎样才能将 HTTPS 传递给 Apache,同时仍然能够在 Apache 端使用 mod_rewrite?
NGINX配置:
server {
listen 80;
server_name helpdesk.someurl.de;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
ssl_protocols TLSv1.2;
server_name helpdesk.someurl.de;
# Enable SSL
ssl on;
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 5m;
# Set global proxy settings
proxy_read_timeout 360;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $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>
如果我现在删除
proxy_set_header Host $http_host;
从 NGINX-Config 来看,HTTPS 被禁用,但 mod_rewrite 可以工作。
如果启用它,我会获得 HTTPS 服务,但没有 mod_rewrite。