0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kongでhttpとhttps通信の両方を許可する

Posted at

はじめに

Kongでhttp://localhost:8000とかhttps://localhost:8000とかの記述があって、httpとhttpsの違いはどこでやっているんだろうと調べた自分用メモ。docker-composeで調べたが、他の実装も同じ想定。
Kongのマニュアルをちゃんと読めば書いているかもしれない。

docker-compose.ymlの設定

githubからKongのインストール資材を入手
https://github.com/Kong/docker-kong

docker-compose.ymlでkong使っての通信はhttpのみ許可する設定。

docker-compose.yml
  kong:
    image: "${KONG_DOCKER_TAG:-kong:latest}"
    user: "${KONG_USER:-kong}"
    environment:
      <<: *kong-env
      KONG_ADMIN_ACCESS_LOG: /dev/stdout
      KONG_ADMIN_ERROR_LOG: /dev/stderr

      #### これがProxyを介した通信の設定
      KONG_PROXY_LISTEN: "${KONG_PROXY_LISTEN:-0.0.0.0:8000}"

      KONG_ADMIN_LISTEN: "${KONG_ADMIN_LISTEN:-0.0.0.0:8001}"
〜以下省略〜

KONG_PROXY_LISTENの横に色々書かれているが、KONG_PROXY_LISTENが設定されていなければ0.0.0.0:8000を使えということらしい。

変数の設定は

  • [IPアドレス]:[port]ならhttp通信
  • [IPアドレス]:[port] sslならhttps通信

とのこと。

httpsの通信設定

https通信の場合、単にsslをつけるだけでssl通信になる。

docker-compose.yml
...
      #### 8000番ポートがhttp通信の設定
      #### KONG_PROXY_LISTEN: "${KONG_PROXY_LISTEN:-0.0.0.0:8000}"

     ↓以下に変更
    
      #### これで8000番ポートをhttps通信の設定になる
      KONG_PROXY_LISTEN: "${KONG_PROXY_LISTEN:-0.0.0.0:8000} ssl"

8000ポートはhttp通信みたいな記述がネットにあったが単に定義の仕方だけの話だった。
https://localhost:8000と8000番ポートでもhttpsで使うよう設定すうることはできる。

http通信とhttps通信の両方をKongで受ける

httpとhttpsの両方を受け付ける場合は並べて記載する。
変数未定義時のデフォルト値の書き方だが、パラメータが複数ある場合の記述方法が分からなかったためベタ書き。

docker-compose.yml
      ### httpを8000ポートで、httpsを8443で受ける場合
      KONG_PROXY_LISTEN: "0.0.0.0:8000, 0.0.0.0:8443 ssl" 

これでhttpの場合はhttp://localhost:8000で、httpsの場合はhttps://localhost:8443で通信できるようになる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?