Ceci est une continuation de Dernière fois. C'est ce que je veux faire pour le moment.
Cette fois, "Inverser le proxy d'Apache sur GCP vers Raspeye Apache local". Ce que je veux faire ici, c'est le lancer de GCP au Raspeye local qui est connecté au VPN.
Installez ce dont vous avez besoin. Line Bot doit prendre en charge HTTPS, installez donc Certbot également.
sudo apt update
sudo apt-get install apache2
sudo apt install certbot # For HTTPS
C'est la seule installation.
/ var / www / html
et l'affichera si vous insérez une page Web (la page par défaut ʻindex.html` est également incluse).Ouvrez les ports TCP443,40 de la même manière qu'auparavant.
Entrez le domaine ou l'adresse IP globale que vous avez obtenue la dernière fois et vérifiez si Apache est en cours d'exécution. (À ce moment, si interdit apparaît, le port n'est probablement pas ouvert correctement.) http://yourdomain_or_ip
Si l'installation / le port est ouvert correctement, l'écran suivant s'affiche.
Ensuite, définissez les paramètres suivants pour réduire les informations du serveur.
sudo vi /etc/apache2/conf-available/security.conf
/etc/apache2/conf-available/security.conf
ServerTokens Prod
ServerSignature Off
Utilisez certbot
pour émettre un certificat SSL. L'argument --dry-run
est une commande que vous ne devriez pas essayer. Vous pouvez le faire sans --dry-run
tout à coup, mais vous devriez le faire juste au cas où.
$ 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.
Si ça réussit, c'est la production.
sudo certbot certonly --webroot -w /var/www/html -d {domain} --email {mail address} --agree-tos -n
En cas de succès sans erreur,
sudo ls /etc/letsencrypt/live/{domain}/
# >> README cert.pem chain.pem fullchain.pem privkey.pem # -> OK
Vérifiez si le certificat est fait avec.
Activez le certificat et créez la page Web SSL.
cd /etc/apache2/sites-available/
sudo cp default-ssl.conf default-ssl.conf.bak #Sauvegarde juste au cas où
sudo vi default-ssl.conf
Définissez l'adresse e-mail et le chemin du certificat que vous avez créé précédemment.
/etc/apache2/sites-available/default-ssl.conf
#À propos de la troisième ligne
ServerAdimin {mail address(above address)}
#À propos de la 25e ligne
SSLEngine on
# 32,Environ 33ème ligne
SSLCertificateFile /etc/letsencrypt/live/{domai}/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/{domai}/privkey.pem
#À propos de la ligne 42
SSLCertificateChainFile /etc/letsencrypt/live/{domai}/chain.pem
Je l'ai peut-être fait la dernière fois, mais pour le moment.
Reconfigurez les paramètres SSL que vous avez modifiés précédemment et le serveur Apache.
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
Maintenant https: // yourdomain_or_ip Si vous ouvrez (Remarque hhtp ** s **) et que cela ressemble à ce qui suit, vous avez SSL.
S'il est laissé tel quel, le certificat deviendra invalide avec le temps (j'ai oublié la période. Veuillez le vérifier), donc je le renouvellerai régulièrement.
Tout d'abord, vérifiez avec --dry-run
pour voir si la mise à jour fonctionne.
$ sudo certbot renew --dry-run
- - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/{domain}/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ce n'est pas grave si ça sort.
Réglez avec crontab
pour mettre à jour tous les mois.
sudo crontab -e # or crontab -u root -e
# renew ssl certification
0 0 1 * * certbot renew
Étant donné que la conversion SSL est terminée et que le port 80 n'est pas nécessaire, sélectionnez l'un ou l'autre. Je vais omettre de fermer le port et écrire la méthode de redirection.
Puisqu'il existe un fichier / etc / apache2 / sites-available / hogehoge.conf
, écrivez ce qui suit (probablement le fichier 000-default.conf
). Il est configuré pour ajouter de force https avec une expression régulière.
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]
...
Après l'édition, rechargez.
sudo a2enmod rewrite
sudo systemctl restart apache2
Les paramètres d'installation sont fondamentalement les mêmes, je les omettrai donc. Cependant, vous n'avez pas besoin de certbot
car vous n'avez pas besoin de SSL!
Une fois l'installation terminée, démarrez Apache et vérifiez-le.
À des fins de test, modifiez / var / www / html / index.html
pour le rendre plus facile à comprendre.
/var/www/html/index.html
This is vpn server for wake on lan!
GCP → Jetez Raspeye. Connectez-vous à GCP avec SSH. Tout d'abord, définissez divers paramètres pour le proxy inverse.
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
sudo systemctl restart apache2
Ensuite, écrivez ce qui suit dans le fichier que vous avez modifié précédemment.
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/
Redémarrer.
sudo systemctl restart apache2
confirmer. https: // {domaine} Si la page est la suivante, c'est OK.
Pour le moment, c'est long, donc ça se termine ici.
Recommended Posts