Ich habe meine eigene Website mit App Service of Azure betrieben, aber um eine benutzerdefinierte Domain- und SSL-Bindung durchzuführen, muss ich einen Plan von ** ungefähr 7.000 Yen pro Monat ** auswählen, damit ich keine Gewinne erwarten kann Ich dachte, das System sei etwas teuer, aber ich habe gelernt, dass Linux etwas billiger sein würde, und habe mich daher für einen Wechsel entschieden.
Vorderes Ende | Vue.js |
Backend | .Net Core 3.1(C#) |
Datenbank | SQLServer |
CI/CD | AzureDevopsPipelines |
SSL-Zertifikat | Let’s Encrypt |
Andere Dienste verwendet | BlobStorage、SendGrid |
Ich weiß nicht, ob dies vorerst möglich ist, aber ich habe beschlossen, es einmal zu machen, also habe ich AppService (Linux) erstellt. Wenn ich mir den Inhalt anschaue, können die folgenden Funktionen unter Linux nicht verwendet werden.
Die Erweiterung kann nicht verwendet werden. .. .. Bedeutet das, dass die Einführung von "Let's Encrypt" manuell erfolgen muss? .. .. Vorahnung von Turbulenzen. .. .. (Wenn es sich um die Windows-Version handelt, kann sie problemlos mit der Erweiterung "Azure Let's Encrypt" angewendet werden.)
Da ich den Dienst vorerst erstellt habe, konnte ich die Quelle bereitstellen, die Konfigurationsinformationen festlegen und problemlos starten. Die benutzerdefinierte Domäneneinstellungsmethode ist dieselbe wie in Windows, sodass Sie sie problemlos ausführen können.
Die letzte Schwierigkeit besteht darin, manuell ein SSL-Zertifikat von "Let's Encrypt" zu erhalten.
SSH-Verbindung zum entsprechenden App-Dienst (über das Azure-Portal möglich) und führen Sie den folgenden Befehl aus
$ apt-get update
$ apt-get install certbot
Sie sollten jetzt Certbot installiert haben.
Verwenden Sie Certbot, um ein Zertifikat auszustellen. Führen Sie den folgenden Befehl mit SSH wie zuvor aus
certbot certonly -d <Domain> --manual --preferred-challenges dns
Der Teil "--preferred-Challenges DNS" ist die Auswahl der Authentifizierungsmethode.
Dieses Mal habe ich mich für die Authentifizierung entschieden, indem ich der Domain, für die ich ein Zertifikat mit dem Namen ** DNS Challenge ** erhalten möchte, einen TXT-Eintrag hinzugefügt habe. (Es gibt andere ** Https Challenge **, bei denen eine Datei an einem bestimmten Speicherort abgelegt und referenziert wird.)
Wenn Sie mit dem Befehl fortfahren, wird unterwegs eine Anweisung wie "Erstellen eines TXT-Eintrags mit diesem Wert in DNS" angezeigt. Befolgen Sie daher die Anweisungen. Selbst wenn Sie einen TXT-Datensatz erstellen, wird dieser etwa 5 Minuten lang nicht wiedergegeben. Überprüfen Sie daher, ob er mit dem folgenden Befehl wiedergegeben wird, bevor Sie fortfahren.
nslookup -q=TXT [Domain]
Wenn die folgende Zeichenfolge angezeigt wird, ist sie erfolgreich.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/[Domain]/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/[Domain]/privkey.pem
Your cert will expire on <some-date>. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Erstellen Sie ein privates Zertifikat mit dem Zwischenzertifikat usw. von Let's Encrypt.
$ mkdir /tmp/sandbox -p
$ cd /tmp/sandbox
$ SOURCE=/etc/letsencrypt/live/[Domain]
$ sudo cp $SOURCE/{cert.pem,privkey.pem,chain.pem} .
$ sudo chown ope *.pem
$ openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
Wenn Sie den letzten Befehl ** openssl ** ausführen, werden Sie aufgefordert, ein Kennwort festzulegen. Geben Sie es daher ein. Denken Sie an das Passwort, das Sie hier eingeben, da es erforderlich ist, wenn Sie Ihr Zertifikat bei AppService registrieren.
Laden Sie die erstellte pfx-Datei und die SSL-Bindung von der benutzerdefinierten AppService-Domäne in die Zieldomäne herunter. Damit ist die Arbeit abgeschlossen!
Wenn Sie in einem Unternehmen usw. arbeiten, ist es praktisch, ** Application Insight ** oder Analysetools zu verwenden, aber ich persönlich dachte, dass Linux in Ordnung wäre, wenn es eine kleine Site wäre, die von einer Person betrieben wird. Wie wäre es mit .Net Core auf einem Linux-Server? .. .. Ich habe nachgedacht, aber ich bin froh, dass es normal funktioniert hat. (Ich fühlte mich jedoch etwas leichter als Windows. Liegt es an meinem Verstand?)
Es war ** ungefähr 7.000 Yen pro Monat ** für einen Windows-Server, aber ** ungefähr 2000 Yen pro Monat ** für einen Linux-Server ** !! Wenn dies der Fall ist, ist es meiner Meinung nach in Ordnung, weitere Server zu starten und einen WEB-Dienst zu erstellen.
Recommended Posts