next-l/enju_leaf

View on GitHub
nginx/templates/production.conf.template-sample

Summary

Maintainability
Test Coverage
# httpでのアクセスをすべてhttpsに転送する
server {
  listen 80;
  server_name enju.example.jp; # Enju本体の外部公開ホスト名

  location / {
    return 301 https://$host$request_uri;
  }
}

# Enju本体へのアクセスの設定
server {
  listen 443 ssl http2;
  server_name enju.example.jp; # Enju本体の外部公開ホスト名

  # アップロードできるファイルの最大サイズ
  client_max_body_size 5m;

  root /opt/enju_leaf/public;

  # サーバ証明書と鍵のファイルの保存場所を指定 
  ssl_certificate /etc/nginx/certs/enju.example.jp.pem;
  ssl_certificate_key /etc/nginx/certs/enju.example.jp-key.pem;
  ssl_session_timeout 1d;
  ssl_session_tickets off;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_prefer_server_ciphers off;

  # Enjuのその他の機能へのアクセスの設定
  location @web {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_redirect off;
    # EnjuのDockerコンテナが動いているホスト名を指定
    proxy_pass http://web:3000;
  }

  # 外部のIIIFビューワからIIIFマニフェストファイルへのアクセスを受け付ける設定
  location ~ ^/iiif_presentations/ {
    add_header Access-Control-Allow-Origin '*' always;
    proxy_pass http://web:3000;
  }

  location / {
    try_files $uri @web;
  }
}
# IIIFサーバへのアクセスの設定
server {
  listen 443 ssl http2;
  server_name iiif.example.jp; # IIIFサーバの外部公開ホスト名

  client_max_body_size 10m; # アップロードできるファイルの最大サイズ

  # サーバ証明書と鍵のファイルの保存場所を指定 
  ssl_certificate /etc/nginx/certs/iiif.example.jp.pem;
  ssl_certificate_key /etc/nginx/certs/iiif.example.jp-key.pem;
  ssl_session_timeout 1d;
  ssl_session_tickets off;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_prefer_server_ciphers off;

  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Path /;
    proxy_redirect http://cantaloupe:8182/ /;
    if ($request_uri ~* "/(.*)") {
      proxy_pass http://cantaloupe:8182;
    }
  }
}