Sper că cineva mă poate ajuta cu această sarcină simplă – m-am gândit eu.
Situatie:
Pe LAN-ul meu privat rulez un Internet-Router ("Fritz!Box") și un Raspberry Pi cu Ubuntu 20.04 LTS. Am dezvoltat o mică aplicație web Spring Boot în scopuri private pe care vreau să o folosesc doar în LAN-ul meu (sau poate să ajung prin VPN din exterior). Adresa URL nativă a aplicației web este „http://ubuntu:8080”, deoarece Raspberry-ul meu se numește „ubuntu” și aplicația rulează pe un Tomcat-Server.
Acum vreau să expun o adresă URL ca de ex. „http://thats-my.app” în interiorul rețelei LAN și utilizați-l ca URL de bază pentru aplicație. Pentru moment, curl pe ubuntu poate ajunge la el, celălalt PC al meu nu.
Și mai bine ar fi un FQDN „http://wow.thats-my.app” (cu un subdomeniu), astfel încât să pot folosi același domeniu și același domeniu de nivel superior pentru toate aplicațiile și să modific doar subdomeniul, cum ar fi „http ://super.thats-my.app" și așa mai departe..
Disclaimer: Deoarece lucrez prin SSH, toată configurația se face doar pentru terminal. Vă rugăm să luați în considerare că nu folosesc suprafața desktop a Ubuntu.
Vă mulțumim anticipat pentru timpul acordat și sperăm pentru ajutor!
Iată setările pe care le-am făcut pentru sistemul ubuntu. Ceea ce nu este afișat aici este comentat!:
ufw
Stare: activ
La Acțiune De la
-- ------ ----
[ 1] 9090/tcp PERMISĂ ÎN Oriunde # UBUNTU-COCKPIT
[ 2] 3306/tcp PERMITERE ÎN Oriunde # MYSQL
[ 3] Apache Full ALLOW IN Oriunde # :80,:443
[ 4] Bind9 ALLOW IN Anywhere # :53
[ 5] OpenSSH ALLOW IN Oriunde # :22
[ 6] 8080:8090/tcp ALLOW IN Anywhere # TOMCAT
[ 7] 9090/tcp (v6) ALLOW IN Anywhere (v6) # UBUNTU-COCKPIT
[ 8] 3306/tcp (v6) ALLOW IN Oriunde (v6) # MYSQL
[ 9] Apache Full (v6) ALLOW IN Anywhere (v6) # :80,:443
[10] Bind9 (v6) ALLOW IN Anywhere (v6) # :53
[11] OpenSSH (v6) ALLOW IN Oriunde (v6) # :22
[12] 8080:8090/tcp (v6) ALLOW IN Oriunde (v6) # TOMCAT
/etc/hosts
127.0.0.1 localhost.localdomain localhost
127.0.1.1 ubuntu
127.0.1.1 thats-my.app
(--> fără intrări pentru IPv6)
/etc/apache2/sites-available/thats-my.conf
<VirtualHost *:80>
ServerName thats-my.app
ServerAlias thats-my
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
--> Link simbolic către directorul activat pentru site-uri
/etc/bind/named.conf.local
zona „thats-my.app” ÎN {
tip master;
fișierul „/etc/bind/forward.thats-my.app.db”;
allow-update { niciunul; };
};
zona "178.168.192.in-addr.arpa" IN {
tip master;
fișierul „/etc/bind/reverse.thats-my.app.db”;
allow-update { niciunul; };
};
/etc/bind/named.conf.options
Opțiuni {
directorul „/var/cache/bind”;
expeditori {
1.1.1.1;
1.0.0.1;
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
listen-on-v6 { orice; };
permite-interogare { orice; };
};
/etc/bind/forward.thats-my.app.db
604800 USD TTL
@ ÎN SOA ns1.thats-my.app. admin.ns1.thats-my.app. (
5; Serial
604800; Reîmprospăta
86400; Reîncercați
2419200; Expira
604800); Cache negativ TTL
;
@ IN NS ns1.thats-my.app.
ns1 IN A 192.168.178.23
/etc/bind/reverse.thats-my.app.db
604800 USD TTL
@ ÎN SOA thats-my.app. admin.asta-mea.aplicația. (
4; Serial
604800; Reîmprospăta
86400; Reîncercați
2419200; Expira
604800); Cache negativ TTL
;
@ IN NS ns1.thats-my.app.
ns1 IN A 192.168.178.23
23 ÎN PTR ns1.thats-my.app.
--> intrare la terminal:
sudo systemctl restart numit
sudo systemctl reporniți apache2
sudo systemctl restart bind9
--> Configurare DNS în router
Setați IP DNS IPv4 la 192.168.178.23 (primar și secundar)
Setați IP-ul IPv6 DNS la adresa IPv6 a mașinii ubuntu (primar și secundar)
Iată ce am primit:
Pe Ubuntu-Serverul local
$ curl thats-my.app -> OK
$ dig thats-my.app -> stare: NOERROR *dar* SERVER 1.1.1.1#53 ???
$ dig thats-my.app @127.0.1.1 -> „conexiunea a expirat!”
$ dig thats-my.app @192.198.178.23 -> „conexiunile au expirat!”
Pe LAN Windows-PC PowerShell
curl thats-my.app -> nu poate fi rezolvată
Pe browserul Chrome LAN Windows-PC
http://thats-my.app -> Site inaccesibil / DNS_PROBE_FINISHED_NXDOMAIN
Dacă te uiți la „sapă” - rezultate, mi se pare că Bind9 nu funcționează chiar aici. Tu ce crezi?
Mulțumiri!