NginxでApacheへProxyPass(Redmine環境構築)
^/redmineでアクセスされたものは、バックエンドのApacheへ投げる。
それ以外は、Nginxのフロント側で処理する。
# vi /etc/nginx/sites-enabled/mydomain
1 # Backend 2 upstream backend { 3 server 127.0.0.1:10080; 4 } 5 6 server { 7 8 listen 80; 9 server_name mydomain; 10 access_log /var/www/mydomain/logs/access.log; 11 error_log /var/www/mydomain/logs/error.log; 12 13 # Redmine 14 location /redmine { 15 # Rewrite 16 rewrite ^/redmine/(.*)?$ https://$host/redmine/$1 last; 17 } 18 19 # DocumentRoot 20 location / { 21 root /var/www/mydomain/public_html; 22 index index.html index.htm index.php; 23 } 24 25 location ~ /\.ht { 26 deny all; 27 } 28 } 29 30 server { 31 32 listen 443; 33 ssl on; 34 ssl_certificate /etc/nginx/conf.d/server.crt; 35 ssl_certificate_key /etc/nginx/conf.d/server.key; 36 server_name mydomain; 37 access_log /var/www/mydomain/logs/access.log; 38 error_log /var/www/mydomain/logs/error.log; 39 40 # DocumentRoot 41 location / { 42 root /var/www/mydomain/public_html; 43 index index.html index.htm index.php; 44 } 45 46 # Redmine 47 location /redmine { 48 proxy_redirect off; 49 proxy_set_header Host $host; 50 proxy_set_header X-Real-IP $remote_addr; 51 proxy_set_header X-Forwarded-Host $host; 52 proxy_set_header X-Forwarded-Server $host; 53 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 54 proxy_pass http://backend; 55 } 56 57 location ~ /\.ht { 58 deny all; 59 } 60 }