NGINX 背後的 Apache2:MOD_REWRITE 只能在沒有 HTTPS 的情況下工作

NGINX 背後的 Apache2:MOD_REWRITE 只能在沒有 HTTPS 的情況下工作

幾天來我無法解決以下問題:

我們有一個應用程式(Faveo),其中包含兩個要求若要完成設定精靈:

HTTPS 和 MOD_REWRITE。

Faveo 在 Apache2 上運行,在我們的 DMZ 中,它前面有一個 ReverseProxy。


如果我用一個簡單的命令運行我們的 ReverseProxy

location / {
          proxy_pass http://XXX.XXX.XXX.XXX;
}

模組重寫(啟用了 Apache-Side,為 Faveo 提供服務)似乎工作Faveo 嚮導變成綠色。

然而 -該應用程式是不是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, 但模組重寫 不起作用這次: 點我吧! (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;
}

阿帕契2:

<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。

相關內容