Dies ist eine Fortsetzung von Letztes Mal. Das möchte ich vorerst tun.
Diesmal "Proxy von Apache auf GCP auf lokalen Raspeye Apache umkehren". Was ich hier tun möchte, ist, es von GCP auf das lokale Raspeye zu werfen, das mit VPN verbunden ist.
Installieren Sie, was Sie brauchen. Line Bot muss HTTPS unterstützen, installieren Sie also auch Certbot.
sudo apt update
sudo apt-get install apache2
sudo apt install certbot # For HTTPS
Dies ist die einzige Installation.
Öffnen Sie die TCP443,40-Ports auf die gleiche Weise wie zuvor.
Geben Sie die Domain oder globale IP-Adresse ein, die Sie zuletzt erhalten haben, und überprüfen Sie, ob Apache ausgeführt wird. (Wenn zu diesem Zeitpunkt ein Verbot angezeigt wird, wird der Port wahrscheinlich nicht richtig geöffnet.) http://yourdomain_or_ip
Wenn die Installation / der Port korrekt geöffnet ist, wird der folgende Bildschirm angezeigt.
Nehmen Sie als Nächstes die folgenden Einstellungen vor, um die Serverinformationen zu minimieren.
sudo vi /etc/apache2/conf-available/security.conf
/etc/apache2/conf-available/security.conf
ServerTokens Prod
ServerSignature Off
Verwenden Sie "certbot", um ein SSL-Zertifikat auszustellen. Das Argument "--dry-run" ist ein Befehl, den Sie nicht versuchen sollten. Sie können es ohne "--dry-run" plötzlich tun, aber Sie sollten es nur für den Fall tun.
$ sudo certbot certonly --webroot -w /var/www/html -d {domain} --email {mail address} --agree-tos -n --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for {domain}
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- The dry run was successful.
Wenn es gelingt, ist es die Produktion.
sudo certbot certonly --webroot -w /var/www/html -d {domain} --email {mail address} --agree-tos -n
Wenn ohne Fehler erfolgreich,
sudo ls /etc/letsencrypt/live/{domain}/
# >> README cert.pem chain.pem fullchain.pem privkey.pem # -> OK
Überprüfen Sie, ob das Zertifikat mit erstellt wurde.
Aktivieren Sie das Zertifikat und machen Sie die Webseite SSL.
cd /etc/apache2/sites-available/
sudo cp default-ssl.conf default-ssl.conf.bak #Backup nur für den Fall
sudo vi default-ssl.conf
Legen Sie die E-Mail-Adresse und den Pfad des zuvor erstellten Zertifikats fest.
/etc/apache2/sites-available/default-ssl.conf
#Über die dritte Zeile
ServerAdimin {mail address(above address)}
#Über die 25. Zeile
SSLEngine on
# 32,Über die 33. Zeile
SSLCertificateFile /etc/letsencrypt/live/{domai}/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/{domai}/privkey.pem
#Über Zeile 42
SSLCertificateChainFile /etc/letsencrypt/live/{domai}/chain.pem
Ich habe es vielleicht das letzte Mal getan, aber vorerst.
Konfigurieren Sie die zuvor bearbeiteten SSL-Einstellungen und den Apache-Server neu.
sudo service apache2 start
sudo systemctl reload apache2
sudo a2ensite default-ssl
sudo a2enmod ssl
sudo apachectl -t # >> Syntax OK
sudo systemctl restart apache2
sudo reboot
Jetzt https: // yourdomain_or_ip Wenn Sie öffnen (Hinweis hhtp ** s **) und es wie folgt aussieht, haben Sie SSL.
Wenn dies unverändert bleibt, wird das Zertifikat im Laufe der Zeit ungültig (ich habe den Zeitraum vergessen. Bitte überprüfen Sie es), sodass ich es regelmäßig erneuere. Überprüfen Sie zunächst mit "--dry-run", ob das Update funktioniert.
$ sudo certbot renew --dry-run
- - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/{domain}/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Es ist in Ordnung, wenn es herauskommt.
Mit crontab
einstellen, um jeden Monat zu aktualisieren.
sudo crontab -e # or crontab -u root -e
# renew ssl certification
0 0 1 * * certbot renew
Wählen Sie einen der beiden aus, da die SSL-Konvertierung abgeschlossen ist und Port 80 nicht erforderlich ist. Ich werde das Schließen des Ports unterlassen und die Umleitungsmethode schreiben.
Da es eine Datei "/ etc / apache2 / sites-available / hogehoge.conf" gibt, schreiben Sie Folgendes (wahrscheinlich die Datei "000-default.conf"). Es ist so eingestellt, dass https mit einem regulären Ausdruck zwangsweise hinzugefügt wird.
sudo vi /etc/apache2/sites-available/hogehoge.conf
/etc/apache2/sites-available/hogehoge.conf
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
...
Nach dem Bearbeiten neu laden.
sudo a2enmod rewrite
sudo systemctl restart apache2
Die Installationseinstellungen sind im Grunde die gleichen, daher werde ich sie weglassen. Sie benötigen jedoch keinen "certbot", da Sie kein SSL benötigen!
Starten Sie nach Abschluss der Installation Apache und überprüfen Sie es.
Ändern Sie zu Testzwecken / var / www / html / index.html
, um das Verständnis zu erleichtern.
/var/www/html/index.html
This is vpn server for wake on lan!
GCP → Raspeye einwerfen. Stellen Sie mit SSH eine Verbindung zu GCP her. Stellen Sie zunächst verschiedene Einstellungen für den Reverse-Proxy ein.
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
sudo systemctl restart apache2
Schreiben Sie dann Folgendes in die zuvor bearbeitete Datei.
sudo vi /etc/apache2/sites-available/default-ssl.conf
/etc/apache2/sites-available/default-ssl.conf
ProxyPreserveHost On
ProxyPass / http://{raspi's local IP}:80/
ProxyPassReverse / http://{raspi's local IP}:80/
Neustart.
sudo systemctl restart apache2
bestätigen. https: // {domain} Wenn die Seite wie folgt ist, ist sie in Ordnung.
Vorerst ist es lang, also endet es hier.
Recommended Posts