Puncte:0

Apache2 din spatele NGINX: MOD_REWRITE funcționează numai fără HTTPS

drapel mx

Zile întregi nu reușesc să înțeleg următoarea problemă:

Avem o aplicație (Faveo) care are două cerințe pentru a parcurge expertul de configurare:

HTTPS și MOD_REWRITE.

Faveo rulează pe Apache2 cu un ReverseProxy în fața lui în DMZ-ul nostru.


Dacă rulez ReverseProxy-ul nostru cu un simplu

Locație / {
          proxy_pass http://XXX.XXX.XXX.XXX;
}

mod_rewrite (care este activat Apache-Side, care servește Faveo) pare că muncă iar Faveo-Wizard devine verde.

In orice caz - Aplicația este nu Servit cu HTTPS.

Prin urmare, nu pot face clic pe „Continuare”: Click pe mine! (http; mod_rewrite)


Dacă acum parcurg următoarele argumente:

Locație / {
          proxy_pass http://xxx.xxx.xxx.xxx;

          proxy_set_header X-Real-IP $adresă_la distanță;
          proxy_set_header gazdă $http_host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Faveo se numește acum cu HTTPS, dar mod_rewrite nu funcționează de data asta: Click pe mine! (HTTPS; fără mod_rewrite) Acest lucru nu permite nici un clic pe „continuare”.

Ai vreo idee? Cum pot transmite HTTPS către Apache și să pot folosi în continuare mod_rewrite pe partea Apache?

NGINX-Config:

Server {
        asculta 80;
        nume_server helpdesk.someurl.de;
        returnează 301 https://$server_name$request_uri;
}

Server {
        asculta 443 ssl http2;
        ssl_protocols TLSv1.2;
        nume_server helpdesk.someurl.de;

        # Activați SSL
        ssl activat;
        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;

        # Setați setările globale de proxy
        proxy_read_timeout 360;

       Locație / {
          proxy_set_header X-Real-IP $adresă_la distanță;
          proxy_set_header Gazdă $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>

Daca acum sterg

proxy_set_header Gazdă $http_host;

Din NGINX-Config, HTTPS este dezactivat, dar mod_rewrite funcționează.

Dacă este activat, primesc HTTPS servit, dar nu mod_rewrite.

vidarlo avatar
drapel ar
Trebuie să configurați Nginx să accepte și conexiunile TLS.
HeadKnockr avatar
drapel mx
@vidarlo Adică să adaugi `ssl_protocols TLSv1.2 TLSv1.3;` la NGINX-config?
djdomi avatar
drapel za
Vă rugăm să împărtășiți configurația completă a apache și nginx, altfel această întrebare nu este în acest moment la subiect
HeadKnockr avatar
drapel mx
@djdomi Gata! :)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.