Localtunnel
Jump to navigation
Jump to search
source ~/.nvm/nvm.sh && nvm use node
npm install -g localtunnel
Linux Service
cat << EOF | sudo tee /etc/systemd/system/chorke-academia-lt.service >/dev/null
[Unit]
Description=Chorke Academia Localtunnel Daemon
After=syslog.target network.target
[Service]
User=${USER}
Type=simple
Restart=on-failure
ExecStart=lt -p 80 -s chorke-academia
TimeoutStopSec=20
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
|
sudo systemctl daemon-reload
sudo systemctl enable --now chorke-academia-lt
systemctl status chorke-academia-lt
sudo systemctl disable --now chorke-academia-lt
systemctl status chorke-academia-lt
sudo systemctl restart chorke-academia-lt
systemctl status chorke-academia-lt
sudo systemctl stop chorke-academia-lt
systemctl status chorke-academia-lt
|
| |
# nginx virtual host & reverse proxy config
cat << EOF | sudo tee /etc/nginx/sites-enabled/chorke-academia.loca.lt >/dev/null
server {
listen 2015;
listen [::]:2015;
index index.html;
server_name chorke-academia.loca.lt;
root /var/www/chorke-academia.loca.lt;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
location / {
proxy_pass http://127.0.0.1:3002;
try_files $uri $uri/ =404;
}
location /api {
proxy_pass http://127.0.0.1:3001;
}
access_log /var/log/nginx/chorke-academia.loca.lt/access.log;
error_log /var/log/nginx/chorke-academia.loca.lt/error.log info;
error_page 500 502 503 504 /500.html;
client_max_body_size 25M;
keepalive_timeout 10;
}
EOF
| |
| |
# haproxy frontend and backend config
: <<'EOC'
frontend chorke
bind *:80
mode http
acl host-is-chorke-academia hdr(host) -i chorke-academia.loca.lt
use_backend chorke-academia if host-is-chorke-academia
backend chorke-academia
server nginx 127.0.0.1:2015
mode http
EOC
| |
| |
Note: No need to update any /etc/hosts entries open https://chorke-academia.loca.lt &>/dev/null & open https://loca.lt/mytunnelpassword &>/dev/null & open https://ipv4.icanhazip.com &>/dev/null & |
Playground
lt --host 127.0.0.1 --port 80 --subdomain academia-chorke lt --port 80 --subdomain academia-chorke |
lt -h 127.0.0.1 -p 80 -s academia-chorke lt -p 80 -s academia-chorke |
| |
curl -k https://loca.lt/mytunnelpassword curl -k https://ipv4.icanhazip.com sudo nginx -t |
sudo rm /etc/systemd/system/academia-lt.service systemctl daemon-reload systemctl reset-failed |
| |
sudo ufw allow 9000:9010/tcp sudo systemctl status ufw sudo ufw status numbered |
sudo ufw status verbose sudo ufw enable sudo ufw status |
| |
curl -k host.docker.internal:9000 curl -k host.docker.internal:9001 curl -k host.docker.internal:9002 |
curl -k host.docker.internal:9008 curl -k host.docker.internal:9009 curl -k host.docker.internal:9010 |
| |
systemctl list-units --type=service --state=running systemctl list-units --type=service --state=active systemctl list-units --type=service |
systemctl --type=service --state=running systemctl --type=service --state=active systemctl --type=service |
| |
firewall-cmd --list-services netstat -ltup |
firewall-cmd --list-ports ss -ltup |
References
| ||