J'exécutais mon propre site Web avec App Service d'Azure, mais pour créer un domaine personnalisé et une liaison SSL, je dois sélectionner un plan de ** environ 7000 yens par mois **, donc je ne peux pas espérer de bénéfices Je pensais que le système était un peu cher, mais j'ai appris que Linux serait un peu moins cher, alors j'ai décidé de changer.
l'extrémité avant | Vue.js |
Back end | .Net Core 3.1(C#) |
Base de données | SQLServer |
CI/CD | AzureDevopsPipelines |
Certificat SSL | Let’s Encrypt |
Autres services utilisés | BlobStorage、SendGrid |
Je ne sais pas si cela peut être fait pour le moment, mais j'ai décidé de le faire une fois, alors j'ai créé AppService (Linux). Quand j'ai jeté un coup d'œil au contenu, les fonctions suivantes ne peuvent pas être utilisées sous Linux.
L'extension ne peut pas être utilisée. .. .. Cela signifie-t-il que l'introduction de "Let's Encrypt" doit se faire manuellement? .. .. Prémonition de la turbulence. .. .. (S'il s'agit de la version Windows, elle pourrait être facilement appliquée en utilisant l'extension "Azure Let's Encrypt")
Depuis que j'ai créé le service pour le moment, j'ai pu déployer la source, définir les informations de configuration et le démarrer sans aucun problème. La méthode de paramétrage du domaine personnalisé est la même que dans Windows, vous pouvez donc la compléter sans aucun problème.
Donc, dernière difficulté, acquisition manuelle du certificat SSL par "Let's Encrypt"
Connexion SSH à l'App Service correspondant (possible à partir du portail Azure) et exécutez la commande suivante
$ apt-get update
$ apt-get install certbot
Vous devriez maintenant avoir installé Certbot.
Utilisez Certbot pour émettre un certificat. Exécutez la commande suivante avec SSH comme avant
certbot certonly -d <domaine> --manual --preferred-challenges dns
La partie "--preferred-challenges dns" est la sélection de la méthode d'authentification.
Cette fois, j'ai décidé de m'authentifier en ajoutant un enregistrement TXT au domaine pour lequel je souhaite obtenir un certificat appelé ** DNS Challenge **. (Il existe d'autres ** Https Challenge ** qui placent un fichier dans un emplacement spécifique et le rendent référencé)
Au fur et à mesure que vous exécutez la commande, une instruction telle que "Créer un enregistrement TXT en utilisant cette valeur dans DNS" apparaîtra en cours de route, suivez donc les instructions. Même si vous créez un enregistrement TXT, il ne sera pas reflété pendant environ 5 minutes, vérifiez donc qu'il est reflété avec la commande suivante avant de continuer.
nslookup -q=TXT [domaine]
Si la chaîne de caractères suivante est affichée, elle réussit.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/[domaine]/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/[domaine]/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
Créez un certificat privé à l'aide du certificat intermédiaire obtenu de Let's Encrypt.
$ mkdir /tmp/sandbox -p
$ cd /tmp/sandbox
$ SOURCE=/etc/letsencrypt/live/[domaine]
$ 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
Lorsque vous exécutez la dernière commande ** openssl **, il vous sera demandé de définir un mot de passe, alors entrez-le. Souvenez-vous du mot de passe que vous entrez ici car il sera requis lorsque vous enregistrerez votre certificat avec AppService.
Téléchargez le fichier pfx créé et la liaison SSL à partir du domaine personnalisé AppService vers le domaine cible. Ceci termine le travail!
Lorsque vous travaillez dans une entreprise, etc., il est pratique d'utiliser ** Application Insight ** ou des outils d'analyse, mais je pensais personnellement que Linux irait bien s'il s'agissait d'un petit site géré par un individu. Que diriez-vous d'exécuter .Net Core sur un serveur Linux? .. .. Je réfléchissais, mais je suis content que cela ait fonctionné normalement. (Cependant, je me sentais un peu plus léger que Windows. Est-ce à cause de mon esprit?)
C'était ** environ 7 000 yens par mois ** pour un serveur Windows, mais ** environ 2000 yens par mois ** pour un serveur Linux ** !! Si tel est le cas, je pense qu'il est normal de démarrer quelques serveurs supplémentaires et de créer un service WEB ces jours-ci.
Recommended Posts