<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Lassi's homepage</provider_name><provider_url>https://lassinsivut.eu/en</provider_url><title>Debian reverse proxy verkkopalvelimelle - Lassin kotisivut</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="hd5cfKz3Pq"&gt;&lt;a href="https://lassinsivut.eu/en/reverse-proxy/"&gt;Debian reverse proxy for web server&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://lassinsivut.eu/en/reverse-proxy/embed/#?secret=hd5cfKz3Pq" width="600" height="338" title="&#x201C;Debian reverse proxy verkkopalvelimelle&#x201D; &#x2014; Lassin kotisivut" data-secret="hd5cfKz3Pq" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://lassinsivut.eu/wp-includes/js/wp-embed.min.js
&lt;/script&gt;</html><thumbnail_url>https://lassinsivut.eu/wp-content/uploads/2022/11/image-35.png</thumbnail_url><thumbnail_width>853</thumbnail_width><thumbnail_height>480</thumbnail_height><description>Bootable USB tekeminen Proxmox ISO-image Proxmoxin asennus&#x200B; Proxmoxin konfigurointi&#x200B; Kovalevyn lis&#xE4;&#xE4;minen&#x200B; Virtuaalikoneen asennus&#x200B; Viimeistely Debian reverse proxyn teko Reverse proxy on eritt&#xE4;in hy&#xF6;dyllinen jos palvelimia on paljon, mutta sinulla on vain 1 tai rajattu m&#xE4;&#xE4;r&#xE4; ip-osoitteita. T&#xE4;ss&#xE4; ohjeessa minulla on 1 ip-osoite, sek&#xE4; 3 muuta palvelinta jotka haluan internettiin. T&#xE4;ss&#xE4; tilanteessa tarvitaan 1 kone ohjaamaan kaiken liikenteen julkisesta ip-osoitteesta ja siirt&#xE4;m&#xE4;ll&#xE4; clientin palvelimelle jota h&#xE4;n on kutsunut. Jos taas et ole jo luonut alidomainin palvelimia, voit katsoa alla olevat linkit niiden tekoon. Ohje WordPressin asennukselle ja konfigurointiin. Ohje Debian koneen asennukselle. Pakettien ja moduulien asennus Ensin asennetaan www-palvelin joka hoitaa uudelleenohjauksen eri palvelimiin. My&#xF6;s tarvittavat moduulit jotka proxyn tekemiseen tarvitaan. apt-get install apache systemctl enable apache2 systemctl start apache2 Nyt asennetaan palomuuri koneelle, sill&#xE4; avataan portit 80 (webpalvelin) ja 443 (ssl-salattu liikenne) apt-get install ufw systemctl enable ufw systemctl start ufw ufw allow 80 ufw allow 443 Viel&#xE4; pieni ohjelma jolla estet&#xE4;&#xE4;n ylim&#xE4;&#xE4;r&#xE4;isi&#xE4; kirjautumisia varsinkin jos ssh yhteys on otettu k&#xE4;ytt&#xF6;&#xF6;n. apt-get install fail2ban systemctl enable fail2ban Sitten viel&#xE4; lopuksi apachen proxy moduulit k&#xE4;ytt&#xF6;&#xF6;n a2enmod proxy a2enmod proxy_http a2enmod proxy_balancer a2enmod lbmethod_byrequests Konfiguroidaan reverse proxy Ensin nimet&#xE4;&#xE4;n oletus konfigurointi tiedosto uuteen. cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/reverseproxy.conf Otetaan uusi tiedostot voimaan ja poistetaan vanha k&#xE4;yt&#xF6;st&#xE4;. a2ensite reverseproxy.conf a2dissite 000-default.conf Lopuksi viel&#xE4; k&#xE4;ynnistet&#xE4;&#xE4;n Apache uudelleen ja tarkistetaan sen tila. systemctl restart apache2 systemctl status apache2 Tehd&#xE4;&#xE4;n viel&#xE4; symlink jotta samaa tiedostoa voidaan muokata useammasta eri polusta. T&#xE4;ss&#xE4; tilanteessa /sites-available ja /sites-enabled ln -s /etc/apache2/sites-available/reverseproxy.conf /etc/apache2/sites-enabled/reverseproxy.conf Lis&#xE4;t&#xE4;&#xE4;n is&#xE4;nt&#xE4;tiedostoon viel&#xE4; alidomainit joita halutaan k&#xE4;ytt&#xE4;&#xE4;. nano /etc/hosts &#xA0;178.55.172.151 lassinsivut.eu&#xA0;&#xA0; cloud.lassinsivut posti.lassinsivut.eu Jos sinulla ei ole kiinte&#xE4;&#xE4; ip-osoitetta, tee t&#xE4;ss&#xE4; muodossa: 192.168.101.133 lassinsivut.eu 192.168.101.134 cloud.lassinsivut.eu 192.168.101.135 posti.lassinsivut.eu Asennetaan viel&#xE4; php. T&#xE4;t&#xE4; ei ole pakko asentaa, mutta sille on monesti tulevaisuudessa tarvetta. apt install apt-transport-https lsb-release ca-certificates apt install wget apt-get install gnupg apt install software-properties-common ca-certificates lsb-release apt-transport-https sh -c &#x2019;echo &#x201D;deb https://packages.sury.org/php/ $(lsb_release -sc) main&#x201D; &gt; /etc/apt/sources.list.d/php.list&#x2019; wget https://packages.sury.org/php/apt.gpg apt-key add apt.gpg apt-get update SUOSITTELEN K&#xC4;YTT&#xC4;M&#xC4;&#xC4;N UUSINTA PHP VERSIOTA. (Ohjeen tekohetkell&#xE4; 8.2) apt install apache2 php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-curl N&#xE4;hd&#xE4;&#xE4;n php versio sek&#xE4; onko asennus onnistunut. php-v Luodaan proxy Muokataan aikaisemmin luotua proxy konfigurointi tiedostoa ja tehd&#xE4;&#xE4;n alidomainien konfigurointi sinne. /etc/apache2/sites-enabled/reverseproxy.conf Seuraavaksi lis&#xE4;t&#xE4;&#xE4;n alidomainien niinsanotut &#x201D;blockit&#x201D;. Niihin m&#xE4;&#xE4;ritell&#xE4;&#xE4;n ett&#xE4; kyseess&#xE4; on reverse proxy, mik&#xE4; paikallinen ip-osoite ohjataan siihen, mik&#xE4; alidomain sek&#xE4; tarvittaessa uudelleenohjaus www tai ilman https ssl suohaukseen. Ssl suojaus m&#xE4;&#xE4;ritell&#xE4;&#xE4;n alempana. &lt;VirtualHost *:80&gt;ProxyPreserveHost OnProxyPass / http://192.168.101.133:80/ProxyPassReverse / http://192.168.101.133:80/ServerName lassinsivut.euServerAlias www.lassinsivut.eu RewriteEngine onRedirect permanent / https://lassinsivut.eu RewriteCond %{SERVER_NAME} =lassinsivut.eu [OR]RewriteCond %{SERVER_NAME} =www.lassinsivut.euRewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]&lt;/VirtualHost&gt; &lt;VirtualHost *:80&gt;ProxyPreserveHost OnProxyPass / http://192.168.101.134:80/ProxyPassReverse / http://192.168.101.134:80/ServerName cloud.lassinsivut.euServerAlias www.cloud.lassinsivut.eu RewriteEngine onRedirect permanent / http://cloud.lassinsivut.eu RewriteCond %{SERVER_NAME} =cloud.lassinsivut.eu [OR]RewriteCond %{SERVER_NAME} =www.cloud.lassinsivut.euRewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]&lt;/VirtualHost&gt; Kirjoita nyt selaimeesi domainisi sek&#xE4; valitut alidomainit, ne ohjaavat Nyt kirjoitetaan selaimeen omat domainit ja huomataan ett&#xE4; siel&#xE4; tulee oikeat palvelimet vastaa, mutta ongelmana on ett&#xE4; yhteys ei ole suojattu ja salattu. Tarvitaan siis ssl sertifikaatti asennettua. Certbot ssl Asennetaan ssl t&#xE4;m&#xE4; suojaa sek&#xE4; salaa kaiken liikenteen sinun ja palvelimen v&#xE4;lill&#xE4;. Mahdollista my&#xF6;s luoda ssl wildfire, siin&#xE4; sinulla on vain yksi sertifikaatti jokaisen alidomainin sijasta. T&#xE4;m&#xE4; voi tulla hy&#xF6;dylliseksi etenkin kuin eri domaineja sek&#xE4; alidomaineja alkaa olemaan eritt&#xE4;in paljon. T&#xE4;ss&#xE4; kuitenkin asennan normaalin sertifikaatin jokaiselle alidomainille jotta yksinkertaisyys pysyy. apt install python3-certbot-apache certbot -d www.lassinsivut.eu -d lassinsivut.eu T&#xE4;ytet&#xE4;&#xE4;n tiedot joita certbot kysyy. certbot -d www.cloud.lassinsivut.eu -d cloud.lassinsivut.eu Tarvittaessa sertifikaatin voi uusia: certbot &#x2013;force-renewal Annetaan listasta domainit jotka haluat uusia. Lopuski K&#xE4;ynnistet&#xE4;&#xE4;n apache uudestaan systemctl restart apache2 Jotta reverse proxyssa saadaan cert botti toimimaan, t&#xF6;ytyy meid&#xE4;n muuttaa taaas apachen virtualhost file&#xE4;. nano /etc/apache2/sites-enabled/reverseproxy.conf Viimeisen&#xE4; automatisoidaan sertifikaatin uusiminen, normaalisti se t&#xE4;ytyy uusi aina 30 p&#xE4;iv&#xE4;n v&#xE4;lein. T&#xE4;m&#xE4; onnistuu kuitenkin helposti Linuxin cron ohjelmalla. crontab -e Lis&#xE4;t&#xE4;&#xE4;n loppuun seuraava m&#xE4;&#xE4;ritys jossa certbot uusii kaikki sertifikaatit ja k&#xE4;ynnist&#xE4;&#xE4; apachen viikon v&#xE4;lein maanantaina n.klo 5am. 0 5 * * 1 certbot renew &#x2013;force-renewal &amp;&amp; systemctl restart apache2 &lt;VirtualHost *:443&gt;ServerName lassinsivut.euServerAlias www.lassinsivut.eu SSLEngine OnSSLProxyEngine OnRedirect / https://lassinsivut.euProxyRequests OffProxyPreserveHost OnProxyPass / http://192.168.101.133:80/ProxyPassReverse / http://192.168.101.133:80/ Include /etc/letsencrypt/options-ssl-apache.confSSLCertificateFile /etc/letsencrypt/live/www.lassinsivut.eu/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/www.lassinsivut.eu/privkey.pem&lt;/VirtualHost&gt; &lt;VirtualHost *:443&gt;ServerName cloud.lassinsivut.euServerAlias www.cloud.lassinsivut.eu SSLEngine OnSSLProxyEngine OnRedirect / https://cloud.lassinsivut.euProxyRequests OffProxyPreserveHost OnProxyPass / http://192.168.101.134:80/ProxyPassReverse / http://192.168.101.134:80/ Include /etc/letsencrypt/options-ssl-apache.confSSLCertificateFile /etc/letsencrypt/live/www.cloud.lassinsivut.eu/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/www.cloud.lassinsivut.eu/privkey.pem&lt;/VirtualHost&gt; Ongelma php kanssa Olen huomannut ett&#xE4; tietyt php sovellukset eiv&#xE4;t toimi tuon proxy konfiguraation kanssa. T&#xE4;m&#xE4; konfiguraatio on minulla toiminut ja korjannut asian jos tuo yll&#xE4; mainittu ei toimi. &lt;VirtualHost *:80&gt;ServerName lassinsivut.euServerAlias www.lassinsivut.euRewriteEngine onRewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)RewriteRule .* &#x2013; [F]Redirect / https://lassinsivut.eu/&lt;/VirtualHost&gt; &lt;VirtualHost *:443&gt;ServerName lassinsivut.euServerAlias www.lassinsivut.euSSLEngine OnSSLProxyEngine OnSSLProxyVerify noneSSLProxyCheckPeerCN offSSLProxyCheckPeerExpire off SSLCertificateFile /etc/letsencrypt/live/lassinsivut.eu/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/lassinsivut.eu/privkey.pem ProxyPreserveHost OnProxyPass / https://192.168.101.133:443/ProxyPassReverse / https://192.168.101.133:443/&lt;/VirtualHost&gt;</description></oembed>
