Localtunnel: Difference between revisions
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
| valign="top" | | | valign="top" | | ||
<source lang="bash"> | <source lang="bash"> | ||
cat << EOF | sudo tee /etc/systemd/system/academia-lt.service >>/dev/null | cat << EOF | sudo tee /etc/systemd/system/chorke-academia-lt.service >>/dev/null | ||
[Unit] | [Unit] | ||
Description=Academia Localtunnel Daemon | Description=Academia Localtunnel Daemon | ||
Line 17: | Line 17: | ||
Type=simple | Type=simple | ||
Restart=on-failure | Restart=on-failure | ||
ExecStart=lt -p 80 -s academia | ExecStart=lt -p 80 -s chorke-academia | ||
TimeoutStopSec=20 | TimeoutStopSec=20 | ||
KillMode=process | KillMode=process | ||
Line 32: | Line 32: | ||
sudo systemctl enable --now academia-lt | sudo systemctl enable --now chorke-academia-lt | ||
systemctl status academia-lt | systemctl status chorke-academia-lt | ||
sudo systemctl disable --now academia-lt | sudo systemctl disable --now chorke-academia-lt | ||
systemctl status academia-lt | systemctl status chorke-academia-lt | ||
sudo systemctl restart academia-lt | sudo systemctl restart chorke-academia-lt | ||
systemctl status academia-lt | systemctl status chorke-academia-lt | ||
sudo systemctl stop academia-lt | sudo systemctl stop chorke-academia-lt | ||
systemctl status academia-lt | systemctl status chorke-academia-lt | ||
</source> | </source> | ||
Line 54: | Line 54: | ||
| valign="top" colspan="2" | | | valign="top" colspan="2" | | ||
<source lang="bash"> | <source lang="bash"> | ||
cat << EOF | sudo tee /etc/nginx/sites-enabled/academia | # nginx virtual host & reverse proxy config | ||
cat << EOF | sudo tee /etc/nginx/sites-enabled/chorke-academia.loca.lt >>/dev/null | |||
server { | server { | ||
listen 2015; | listen 2015; | ||
Line 61: | Line 62: | ||
index index.html; | index index.html; | ||
root /var/www/html; | root /var/www/html; | ||
server_name academia | server_name chorke-academia.loca.lt; | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
Line 77: | Line 78: | ||
} | } | ||
access_log /var/log/nginx/academia | access_log /var/log/nginx/chorke-academia.loca.lt/access.log; | ||
error_log /var/log/nginx/academia | error_log /var/log/nginx/chorke-academia.loca.lt/error.log info; | ||
error_page 500 502 503 504 /500.html; | error_page 500 502 503 504 /500.html; | ||
Line 86: | Line 87: | ||
EOF | EOF | ||
</source> | |||
|- | |||
| colspan="2" | | |||
---- | |||
|- | |||
| valign="top" colspan="2" | | |||
<source lang="bash"> | |||
# 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 apache 127.0.0.1:2015 | |||
mode http | |||
EOC | |||
</source> | </source> | ||
Line 95: | Line 117: | ||
'''Note:''' | '''Note:''' | ||
No need to update any '''/etc/hosts''' entries | No need to update any '''/etc/hosts''' entries | ||
open https://academia | open https://chorke-academia.loca.lt &>/dev/null & | ||
open https://loca.lt/mytunnelpassword &>/dev/null & | open https://loca.lt/mytunnelpassword &>/dev/null & | ||
open https://ipv4.icanhazip.com &>/dev/null & | open https://ipv4.icanhazip.com &>/dev/null & |
Revision as of 17:54, 25 January 2024
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=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;
root /var/www/html;
server_name 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:3001;
try_files $uri $uri/ =404;
}
location /api {
proxy_pass http://127.0.0.1:3002;
}
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 apache 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 |
References
| ||