プロジェクト

全般

プロフィール

Nginx

ケーススタディ

ポート80へのリクエストをRedmineとGitに振り分ける

Nginxのポート80へのHTTPリクエストのうち、/git/で始まるリソースは、apacheのポート8008へ転送し GitSmartHttpを実行し、それ以外のリソースはUnicornのUNIXドメインソケットへ転送しRedmineを実行します。

設定

upstream unicorn-redmine {
    server unix:/var/lib/redmine/tmp/sockets/unicorn.sock;
}

server {
    listen 80;
    server_name sw.example.com;

    root /var/lib/redmine/public;
    client_max_body_size 1G;

    location /git/ {
        proxy_pass http://localhost:8008;
    }

    location / {
        try_files $uri/index.html $uri.html $uri @app;
    }

    location @app {
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_connect_timeout 60;
        proxy_read_timeout 60;
        proxy_send_timeout 60;
        proxy_pass http://unicorn-redmine;
    }

    error_page 500 502 503 504 /500.html;
}


8年以上前に更新