Gå til innhold
Trenger du hjelp med internett og nettverk? Still spørsmål her ×

Tilgang til "skjult" applikasjon


Anbefalte innlegg

Linux maskin kjører en "skjult" applikasjon som oppfører seg som en webserver på port 1111.

"https://www.mittdomene.no" nås på samme maskin (nginx webserver).

Jeg ønsker å nå den skjulte applikasjonen på "https://www.mittdomene.no/applikasjon".

Er det noen lur måte å gjøre dette på? Kan nginx fungere som reverse proxy på en enkelt url?

Endret av mobile999
Lenke til kommentar
Videoannonse
Annonse

Det kan den. Jeg bruker swag til dette. Swag er basically nginx+let's encrypt cert+certbot+fail2ban i en docker container. Kjører du allerede nginx og har ssl cert så er det bare å kjøre på. I nginx bruker du proxy_pass direktivet. Det er 2 måter å reverse proxy en app på. Ved bruk av subdomain eller som du ønsker, subfolder. Du kan sette opp proxy_pass i default filen som ligger under site confs. Eller du kan opprette egne proxy.conf filer, det kan være greit hvis du ønsker å reverse proxy flere apper.

Det er ikke alle apper som fungerer like bra med subfolder alternativet. Men noen apper har en egen setting for dette, som regel heter den base url/proxy url eller noe i den duren. Så sjekk det først. Jeg vil uansett annbefale subdomian fremfor subfolder.

Her er exempel på proxy_pass directivet i default site config fila:

# redirect all traffic to https
server {
listen 80;
server_name _;
return 301 https://$host$request_uri;
}


# main server block
server {
listen 443 ssl http2 default_server;

# This header will prevent search engines from indexing your https pages
    add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
	root /config/www;
	index index.html index.htm index.php;

	server_name _;
	
	
	#SSL settings
        include /config/nginx/strong-ssl.conf;

	client_max_body_size 0;


	location /sonarr {
		# enable the next two lines for http auth
		#auth_basic "Restricted";
		#auth_basic_user_file /config/nginx/.htpasswd;
		include /config/nginx/proxy.conf;
		proxy_pass http://192.168.2.212:8989/sonarr;
	}
	
} 

Location er hvor du setter subfolderen. proxy_pass er IP:port til appen. 

Et eksempel på subdomain kan du få også:

# make sure that your dns has a cname set for sonarr and that your sonarr container is not using a base url

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name sonarr.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth, fill in ldap details in ldap.conf
    #include /config/nginx/ldap.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable the next two lines for ldap auth
        #auth_request /auth;
        #error_page 401 =200 /login;

        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_sonarr sonarr;
        proxy_pass http://$upstream_sonarr:8989;
    }

    location ~ (/sonarr)?/api {
        include /config/nginx/proxy.conf;
        resolver 127.0.0.11 valid=30s;
        set $upstream_sonarr sonarr;
        proxy_pass http://$upstream_sonarr:8989;
   }
}

set upstream i dette eksempelet kan du se bort i fra. Med mindre du bruker swag og containerene dine snakker sammen over intern dns. Proxy_pass skal også endres til samme som forrige eksempel MINUS /sonarr

Og et eksempel på proxy.conf fila som det er referert til i disse eksemplene:

## Version 2021/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/proxy.conf

# Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

# Proxy Connection Settings
proxy_buffers 32 4k;
proxy_connect_timeout 1d;
proxy_headers_hash_bucket_size 128;
proxy_headers_hash_max_size 1024;
proxy_http_version 1.1;
proxy_read_timeout 1d;
proxy_redirect  http://  $scheme://;
proxy_send_timeout 1d;

# Proxy Cache and Cookie Settings
proxy_cache_bypass $cookie_session;
#proxy_cookie_path / "/; Secure"; # enable at your own risk, may break certain apps
proxy_no_cache $cookie_session;

# Proxy Header Settings
proxy_set_header Connection $connection_upgrade;
proxy_set_header Early-Data $ssl_early_data;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Real-IP $remote_addr;

Nginx proxy manager kan også annbefales hvis du vil enkelt reverse proxy apper, det er litt enklere enn swag.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...