しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

HttpPlatformHandler の検索結果:

Hack Azure! #3 Catch up Ignite 2020 Azure updates フォローアップ

…簡単です。これらは HttpPlatformHandler によって実現されています。Azure Functions の Custom Handler と同じような形で Web アプリケーションを任意のランタイムで実行できる仕組みです。 Azure Functions v2 のプラットフォームアップデート .NET Framework 4.8 がほぼ全ての Azure のパブリックなリージョンにデプロイされましたが、次には Azure Functions v2 のプラットフォ…

Azure App Service (Windows / Linux) に Java アプリケーションをデプロイして動かす簡単な方法

… に対応した際には HttpPlatformHandler を使うために Web.config を用意する必要がありましたが、そういう時代は既に終わっていたようです。ドキュメントにも書いてあるように app.jar というファイル名でデプロイすると、App Service が自動的に適切な設定でアプリケーションを立ち上げてくれるようになってました。ちなみにこの挙動は Windows と Linux で共通となっています。 By default, App Service exp…

Deno を Azure App Service (Windows / IIS) で動かしてみた

…ってしまえば、後は HttpPlatformHandler でプロセスの管理と HTTP のプロキシをさせてしまえばよいので簡単です。考え方は Node.js のデプロイの時と同じなので、特に難しいことはありません。以下のような web.config を作成しました。HttpPlatformHandler の一般的な定義です。example.ts は元記事のものをそのまま貰ってきて wwwroot 以下に保存しました。 <?xml version="1.0" encoding…

Node.js アプリを Azure App Service へ最適な形でデプロイする

…ode の代わりに HttpPlatformHandler を使う App Service (Windows) では Node.js アプリの実行には iisnode が使われるようになっていますが、一般的な 実行方法とは異なるので挙動が違ったり、設定が煩雑だったりします。今回は HttpPlatformHandler を使って、Node.js アプリを実行するようにしました。Web.config は以下のようにシンプルですが、arguments の値はアプリ毎に変える必要が…

ASP.NET / IIS で X-Forwarded-Proto の値を正しく扱いたい

…後ろに PHP や HttpPlatformHandler が居る場合には使えません。要はサーバー変数を書き換えてあげれば良いので、URL Rewrite でも同じことが実現できます。 <system.webServer> <rewrite> <!-- unlock が必要なので少し面倒 --> <allowedServerVariables> <add name="HTTPS" /> <add name="SERVER_PORT" /> </allowedServerVar…

IIS 10.0 に対応した ARR Helper をインストールする

IIS

…e / ARR / HttpPlatformHandler は IIS 10.0 に対応したインストーラーが公開されているので、もちろんインストール出来ます。インストール後に Program Files\IIS\Application Request Routing 以下を開くと、ひっそりと存在する x86 / x64 向けの ARR Helper のインストーラーが見つかるはずです。これは IIS 10.0 に対応したインストーラーになっているので、普通にインストール出来ま…

ASP.NET Core 1.0 のプロジェクト構造とエントリポイントの話

…ダーとストリームのプール数など、パフォーマンスに関わる部分の設定が行えます。IISIntegration に関しては、以前に HttpPlatformHandler から ASP.NET Core Module に切り替える理由を書いたので、そっちを参照してください。IIS を使わない場合、特に Windows 以外で使う場合には、UseIISIntegration は不要です。とりあえずエントリポイントの話はこれで終わりにします。次は Startup 周りを調べる予定です。

ASP.NET Core が HttpPlatformHandler から専用の IIS モジュールに移行する理由

… IIS 向けには HttpPlatformHandler が採用されてきましたが、少し前に HttpPlatformHandler から fork した ASP.NET Core Module が使われることになりました。公式からアナウンスと移行する理由が発表されています。ざっくりと説明すると、HttpPlatformHandler は ASP.NET Core 専用ではなく、Java や Ruby などを動作させるための汎用的なリバースプロキシですが、最近は ASP.NE…

Build 2016 で発表された ASP.NET Core セッションについて

…います。これまでは HttpPlatformHandler を使っていましたが、そこから fork した ASP.NET Core Module が提供されるようになりました。Kestrel を直接 80 番で公開するのではなく、IIS や nginx などのプロキシを通すようにしておきましょう。 Azure Service Fabric for Developers https://channel9.msdn.com/Events/Build/2016/B874Servic…

Azure Web Apps に最新版の Java をインストールする Site Extension を作った

…フォルダにコピーしてHttpPlatformHandler使えば行けるよ?」みたいなコメントが来たんですがががが— 帝国兵 (@superriver) 2016年3月3日 Heroku の Buildpack みたいに、標準以外のランタイムをサクッとインストールできる仕組みがあれば、みんな幸せになれそうですよね。Java の Site Extension でめんどくさいのが、配布形式がインストーラーしか存在していないという点ですね。そのあたりは先人の知恵を借ります。他にも何点…

HttpPlatformHandler v1.2 が公開されていました

IIS

…I を起動した時に HttpPlatformHandler がアップデートされていたことに気が付きました。インストールしてバージョンを確認したところ 7.1.1959.0 になっていました。前回のアップデートで調べた時にはバージョン 7.1.1954.0 だったので、少しだけビルド番号が上がっていました。ちなみに Azure Web Apps にインストールされているのは 7.1.1956.0 でした。Web PI で公開されているものよりも、少しだけ古いバージョンのようです…

ASP.NET 5 のサーバーから IIS (Helios) が削除された理由

…存在していなかった HttpPlatformHandler のリリースも、Helios 削除の理由として関係していたのではないかと思います。HttpPlatformHandler を使うことで、IIS の機能を利用しつつ Java などのアプリケーションを別プロセス空間で実行することが出来ます。つまり Java と ASP.NET 5 は IIS から同列に扱われるということになります。最後になってしまいましたが IIS (Helios) を削除するメリットを、また適当に意訳…

URL Rewrite 2.0 と Application Request Routing 3.0 がアップデートされていました

IIS

…ったので安心です。 HttpPlatformHandler 1.0 https://www.microsoft.com/en-us/download/details.aspx?id=47341 https://www.microsoft.com/en-us/download/details.aspx?id=47338HttpPlatformHandler に関しては変更点が記載されていませんでしたが、ビルド番号が 1946 から 1954 に上がっていたので、何らかのアップデ…

JRuby を使うと Azure Web Apps でも Ruby on Rails 4 をデプロイするだけで動かすことが出来た

…h the new HttpPlatformHandler - Scott Hanselman's Blog結果としては、必要なファイルをコピーして少し修正するぐらいで Web Apps へ Rails 4 アプリをデプロイ出来るようになりました。GitHub にサンプルを上げてあります。リポジトリ内にある必要なファイルは以下の 5 つになります。 .deployment deploy.cmd Web Apps のカスタムデプロイスクリプト Procfile startup.…

Azure Web Apps で HttpPlatformHandler を foreman っぽく使えるバッチファイルを作った

…t を動かした時に、HttpPlatformHandler が実行するアプリケーションを Procfile から読み込むようにしましたが、もうちょっと汎用的に作れる気がしたので修正してみました。foreman のパチモンなので pseudo-foreman という名前でリポジトリ作っておきました。中には Hubot のサンプルも入れてあるので、Azure Web Apps で動かす時の参考にどうぞ。Web.config で HttpPlatformHandler の設定を行い…

Azure Web Apps で Hubot を Git でデプロイして動かす方法

…われますが、今回は HttpPlatformHandler を使うので startup.cmd として以下のようなバッチファイルを作成しておきます。処理としては Procfile を読み込んで実行しているだけです。 @echo off SET DOCUMENT_ROOT=%~dp0 SET PROCFILE=%DOCUMENT_ROOT%Procfile SET PATH=%DOCUMENT_ROOT%node_modules\.bin\;%PATH% cd /d %DOCU…

Azure Web Apps が Go で書かれたアプリケーションのデプロイに標準で対応してました

…、import に書いてある依存関係を自動的に解決してくれるみたいです。デプロイの履歴は以下のように、前回のコードを丸っと書き換える形にしました。設定ファイルなど必要なく、ソースのデプロイだけで問題なく動作しました。テンポラリで依存関係の解決とビルドを行うので、これまでの環境に依存しないのがとても良いです。HttpPlatformHandler のポート番号を取得する部分だけ注意したいです。久しぶりになる Web Apps での新しいプラットフォーム対応なので喜ばしいですね。

Azure Web Apps にひっそりと Go がインストールされていた

…ていれば、基本的に HttpPlatformHandler を使って HTTP リクエストを流し込むことが出来るので、Azure Web Apps で公式に Go がサポートされる日は近い気がします。同じことになるので、以前に Go を動かした時の記事をいくつか紹介しておきます。Azure Web サイトで Go 言語を httpPlatformHandler を使って動かしてみた - しばやん雑記Azure Web サイトで Martini を使ったアプリケーションを動かす…

Azure Websites のディレクトリ構造が変わっていた件と HttpPlatformHandler がアップデートされていた話

…ました。個人的には HttpPlatformHandler のアップデートが熱いです。 ディレクトリ構造が少し変更 これまでは C:\DWASFiles\Sites というパスに各サイト用のファイルが保存されていたのが、今日見てみると D:\local というパスに変わっていました。これまでは Temp ディレクトリのパスに ~ や # が混ざっていましたが、すっきりしていい感じですね。環境変数に LOCAL_EXPANDED が追加された気がしました。これを使えば本当のパス…

HttpPlatformHandler に追加された processesPerApplication を検証してみた

IIS

HttpPlatformHandler に新しく追加された processesPerApplication の挙動が気になったので簡単に検証してみました。動かすアプリとしては手軽な Go を選びました。テンプレ的なコードですが、Martini を使った最低限のサーバーを用意します。 package main import "github.com/go-martini/martini" func main() { m := martini.Classic() m.Get("/"…

HttpPlatformHandler が IIS 8 以降の拡張機能として正式にリリースされていました

IIS

…イトを調べていたら、HttpPlatformHandler がダウンロード可能になっていることに気が付きました。HttpPlatformHandler v1.0 : The Official Microsoft IIS SiteHttpPlatformHandler については httpPlatformHandler をもっと面白く使っていきたい - しばやん雑記 を参照してもらえると理解しやすいかと。Azure Websites での Java 対応の要として使われている …

httpPlatformHandler をもっと面白く使っていきたい

…に同時に追加された httpPlatformHandler ですが、何か面白い使い方があると思うので軽くまとめておきます。まずはちょっと似てる ARR と httpPlatformHandler の違いから簡単に。 ARR の場合 ARR の役割はリバースプロキシとロードバランサーになるので、基本的には HTTP トラフィックをそのまま別の URL やサーバー群に振り分けます。Application Request Routing : The Official Microso…

Azure Web サイトに Ruby on Rails アプリケーションを簡単にデプロイするスクリプトを作った

…合が出るようです. httpPlatformHandler + thin で動作を確認 startup.bat と Web.config で httpPlatformHandler と thin を使って動かすための設定を行っているので、デプロイが正常に完了した後であれば、そのままページを表示できるはずです。とりあえず Ruby on Rails の基本的な画面まで確認出来ました。カスタムデプロイスクリプトを使うことで、これまでみたいに Kudu のコンソールを立ち上げて環境…

Azure Web サイトに Ruby / Perl / Go をインストールするスクリプトのリポジトリを作った

…FastCGI や httpPlatformHandler などで動かしてきましたが、いい加減にランタイムのインストールがだるくなってきたので、インストールの処理を簡単にするためのスクリプトを作りました。とりあえず Ruby / Perl / Go に関しては GitHub にリポジトリ作って置いてあります。shibayan/AzureWebSitesSetupScripts · GitHubREADME が中途半端で Ruby しか書いてないですが、このあたりは追い追い対応…

Azure Web サイトの Kudu が更新されて DaaS の統合や細かい修正が行われていた話

…りました。ちなみに、httpPlatformHandler で起動したプロセスには何もつかないので、内部的には WebJobs と httpPlatformHandler でプロセスの起動が少し異なっているようです。この機能は新ポータルの Processes にも欲しいですね。 環境変数の追加 REGION_NAME 環境変数が追加されて、今の Web サイトがどのリージョンで動いているかアプリケーション側から取得できるようになりました。そして SITE_BITNESS 環境…

Azure Web サイトで Revel を使ったアプリケーションを動かす

…アルにはありますが、httpPlatformHandler を使うためにポート番号を指定する必要があります。調べたところ run の 3 つめの引数でポート番号を指定できるらしいので、以下のように呼び出せば問題なさそうです。 revel run myapp dev %HTTP_PLATFORM_PORT%これで Web.config を書けば動くと思ったのですが、go.exe へのパスが通っていないとエラーになってしまったので、バッチファイルを経由して revel run を…

Azure Web サイトで Martini を使ったアプリケーションを動かす

…トで Go 言語を httpPlatformHandler を使って動かしてみた - しばやん雑記 にて Azure Web サイト上で Go 言語を動かすことが出来たので、今回は Martini というフレームワークを使ったアプリケーションを動かすことが出来るか調べました。アプリケーションと言っても、Martini の公式サイトに載っているサンプルコードを動かしてみるレベルなので、README を見ながら作業をしていきます。martini/README_ja_JP.md a…

Azure Web サイトで Go 言語を httpPlatformHandler を使って動かしてみた

…だったので、今回は httpPlatformHandler を使って実現してみたいと思います。 Go 言語のインストール Downloads - The Go Programming LanguageGo 言語は Windows 版の 32bit バイナリを使いました。一度、ローカルにダウンロードしてもいいですが、Web サイトには curl と unzip が入っているので、以下のコマンドを叩くだけでインストール出来ます。 curl -O https://storage.g…

Azure Web サイトに Ruby 2.1.3 と DevKit をサクッとインストールするバッチを作った

…in --no-ri --no-rdoc 実際に thin を使って Rails アプリを動かすためには httpPlatformHandler の設定が必要になりますが、手順は以前に Redmine をインストールした時と同じもので問題ありません。Windows Azure Web サイトで Redmine 2.5 を動かしてみた - しばやん雑記Mac でも Visual Studio Online "Monaco" を使えば、同じように簡単にインストール出来るはずです。

Microsoft Azure Web サイトのマイナーな変更点を調べてみた

…応を行うようです。 httpPlatformHandler 1.1 JDWP 対応のためにかどうかわかりませんが、httpPlatformHandler が 1.1 にアップデートされているような気がします。モジュールの処理を考えると、安定性とパフォーマンスの向上という可能性も十分ありですが。 Python 3.4 の FastCGI / WSGI 前回で Python 3.4 がインストールされていること確認しましたが、applicationHost.config にもしっ…