** Dans l'entreprise pour laquelle je travaille, je ne peux pas accéder à Qiita à cause d'un proxy. ** **
Quand j'écoute l'histoire lors d'une session d'étude, j'entends qu'il existe une entreprise avec un environnement étonnamment similaire. Mais par tous les moyens ** "Je veux voir Qiita dans l'entreprise !!" **
Un jour, lorsque j'ai consulté une personne qui assistait à une session d'étude AWS, j'ai eu une bonne idée. Récemment, j'étudiais AWS, alors je l'ai implémenté.
Le flux simple du service créé consiste à extraire les informations de page du Qiita que vous souhaitez voir et à le déplacer vers un endroit accessible depuis l'entreprise. Au fait, si vous ne pouvez pas accéder à AWS depuis votre entreprise, vous êtes absent.
Cette fois, nous utilisons trois services principaux sur AWS. Une explication détaillée de chaque service est omise.
La demande serait la suivante lors de la consultation de l'article à https://qiita.com/guromityan/items/5846fcefd87abcf76f7f.
Dans target
, spécifiez l'URL de l'article que vous souhaitez voir.
https://<API Gateway>.ap-northeast-1.amazonaws.com/previewQiita?target=https://qiita.com/guromityan/items/5846fcefd87abcf76f7f
La réponse ressemble à ceci:
{
"statusCode": 301,
"headers": {
"Location": "https://<S3 Bucket>.s3-ap-northeast-1.amazonaws.com/guromityan/5846fcefd87abcf76f7f"
}
}
En raison de "" sutatusCode ": 301", le navigateur qui le reçoit redirigera vers l'URL spécifiée dans l'en-tête "Location". La destination de la transition est une page qui expose l'objet S3 converti de Markdown en html en tant que contenu statique.
Au fait, j'ai créé une extension Chrome et réécrit l'URL de Qiita pour accéder automatiquement à l'API Gataway. J'écrirai cette histoire un jour.
Ce dont je voulais parler cette fois, c'est que j'ai une telle idée, je vais donc omettre l'explication sur la façon de configurer les services AWS.
Le code source de Lambda est publié sur [GitHub] guromityan / previewQiita, donc si vous voulez le faire, veuillez l'utiliser.
** [Attention] ** Pour l'utiliser avec Lambda, vous devez compresser les bibliothèques dépendantes ensemble, alors supprimez les bibliothèques dépendantes localement avec
docker-compose build
.
Recommended Posts