apache2 ustawienie proxypass, działa na NG, enigmatyczna konfiguracja

0

Dzień dobry,

Mam problem z konfiguracją strony na Apache2. Używam systemu Ubuntu 20.04.4 LTS.

Chodzi o ustawienie Proxy na serwer z aplikacją, Strona ma działać na SSL i przekierowywać na apkę, która nie działa już na SSL.

Nie wiem gdzie leży błąd w moim configu, jako, że nie wiem jak to sprawić. Załączam mój config:

    <VirtualHost *:9975>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine On

        SSLCertificateFile    /path/to/cert/cer.crt
        SSLCertificateKeyFile /path/to/cert/cer.key

        ProxyPass / http://127.0.0.1:9999/appDir/
        ProxyPassReverse / http://127.0.0.1:9999/appDir/
    </VirtualHost>

Wszedłem pod adres http://127.0.0.1:9999/appDir/ i wiem, że działa pod nim apka, mam z niej info zwrotne.

Certyfikaty są takie same jak na innej stronie, którą też hostuje lokalnie.

Co robię źle?

Na nginx działa wszystko dobrze. Jako, że główną apkę mam na apache, muszę przepisać config z nginx do apache. Oczywiście nginx wyłączam przed uruchomieniem apache.

config nginx:

server {
    listen 9975 http2 ssl;
    listen [::]:9975 http2 ssl;

    server_name localhost;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    ########################################################################
    # from https://cipherlist.eu/                                            #
    ########################################################################

    ssl_protocols TLSv1.3;# Requires nginx >= 1.13.0 else use TLSv1.2
    ssl_prefer_server_ciphers on;
    ssl_ciphers blah;
    ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off; # Requires nginx >= 1.5.9
    ssl_stapling on; # Requires nginx >= 1.3.7
    ssl_stapling_verify on; # Requires nginx => 1.3.7
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    # Disable preloading HSTS for now.  You can use the commented out header line that includes
    # the "preload" directive if you understand the implications.
    #add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    ##################################
    # END https://cipherlist.eu/ BLOCK #
    ##################################

    root /var/www/html/html;

    location / {
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:9999/appDir/;
    }

    error_page 404 /404.html;
    location = /404.html {
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }

}

Proszę o pomoc
Dzięki

0

Już się wyjaśniło, okazało się, że trzeba było w Apache odblokować port w pliku /etc/apache2/ports.conf :O
Teraz mam jeszcze problem z CORS. W którym miejscu trzeba wstawić Header set Access-Control-Allow-Origin "*" ?

Nie działa póki co. Mogę ze swojego komputera się połączyć, natomiast z innych blokuje pod pozorem braku zgody na CORS :(

0
mpaw napisał(a):

Już się wyjaśniło, okazało się, że trzeba było w Apache odblokować port w pliku /etc/apache2/ports.conf :O
Teraz mam jeszcze problem z CORS. W którym miejscu trzeba wstawić Header set Access-Control-Allow-Origin "*" ?

Nie działa póki co. Mogę ze swojego komputera się połączyć, natomiast z innych blokuje pod pozorem braku zgody na CORS :(

https://httpd.apache.org/docs/current/mod/mod_headers.html
i dalej
https://httpd.apache.org/docs/current/sections.html

Zatem możesz w konfigu Vhosta powiedzmy przed ProxyPass'em lub jak Ci wygodniej w .htaccess
W zalezności co to za appka to też powinna być możliwośc ustawienia polityki CORS po jej stronie (Flaski, Django, jaies Nodejsy to potrafią)

1 użytkowników online, w tym zalogowanych: 0, gości: 1