📔 Actix web で HttpOnly な Cookie を設定する

はじめに 最近 Rust を勉強するため、Actix web で Bloggimg という Web アプリケーションを作りました。その際、セッション管理のために Cookie を利用したのですが、その際の手順及び設定方法についてまとめておきます。 本記事では Rust や Actix web のインストール方法については説明しません。Mac であれば brew install rustup して rustup-init した後、PATH に $HOME/.cargo/bin を追加するだけで大丈夫なはずです。詳細なインストール手順については 公式サイト をご参照ください。 開発環境については VSCode の Rust Plugin がオススメです。Rustup で Rust をインストールしている場合、設定から Rustup の PATH を $HOME/.cargo/bin/rustup にするだけで利用可能です。設定手順の詳細はこちらをご参照ください。 動作環境 Mac mini (M1, 2020) Rust 1.49 Actix web 3 Serde 1.0 # Cargo.toml [package] name = "cookie_test" version = "0....

January 23, 2021 · 4 分 · Me

📔 AWS Lightsail Containers に Actix web をデプロイする

はじめに Actix web で Web アプリケーションを作ったのですが、技術勉強も兼ねていたので、デプロイ先も今まで試したことがないものを試そうとしていました。そこで、日頃業務でも AWS を利用しているということもあり、去年末に発表された AWS Lightsail Containers をデプロイ先に採用しました。 AWS Lightsail Containers へのデプロイ自体は非常に簡単でした。また、デプロイにあたり Rust の Docker イメージ作成のやり方も学べました。今回はそのあたりの手順をまとめる形で記事として書き残しておくことにしました。 Actix web の Docker イメージを作成する 開発したアプリケーションでは React でフロントエンド開発をしていて、ビルドしたものを Actix web の public フォルダに配置する形で公開しています。そのため、下記の Dockerfile ではマルチステージビルドを利用しておりますが、本質的には FROM rust:1.49 以降の記述が Actix web に関するものとなります。 # React ビルド用のイメージFROMnode:14.15.4-alpine3.10 as client_builderARG REACT_APP_API_URLARG REACT_APP_GYAZO_AUTH_URLARG REACT_APP_GA_UNIVERSAL_IDWORKDIR/clientCOPY ./client/package*.json .RUN yarn installADD ./client .RUN yarn build# Actix web ビルド用のイメージFROMrust:1.49# Actix web にアクセスするためのポートを公開するEXPOSE8080# Actix web プロジェクトのフォルダをイメージに追加するWORKDIR/serverADD ./server .# プロジェクトフォルダ内で `cargo install` してビルドを生成するRUN cargo install --path ....

January 23, 2021 · 2 分 · Me