###FUELPHP 1.8 + NGINX + APACHE(8080ポート、PHP処理)/ SSLの構成が実現したい。
FUELPHPのWEBアプリケーションを NGINX(443/SSL)+ APACHE(PHPのみ処理)
で実現したいのですが、うまく実現できませんでした。
どうかアドバイス等お願い致します。
###最初にやったこと(PHP + PHP-FPM)
・結果 → ❌うまくいかなかった。
・ダメだった原因 → REST用の処理(例)/api/getInformation.json のような処理が静的ファイルとして処理されてしまう、色々試行錯誤したが、うまくいかなかった)
・また、APACHEの環境変数に独自のものを多数組み込んでおり、fastcgi_paramで受け渡したが、一部がうまく動作しなかった。
上記も含めた様々な理由からAPACHEサイドでPHPは処理したいと考えております。
そこで、もう一度やりたいことを整理すると
・PHPはAPACHEで処理したい。
・静的リソースはNGINXで処理したい。
・SSLである必要がある。
私のできる範囲で考えると、
・APACHEおよびPHP周りの設定を行なう(PORTは8080)
・NGINXのSSL設定
ここまではOKですが、NGINXからAPACHEへリバースプロキシした際に、
NGINX側でどのようなREWITE処理を書けばいいのかわかりませんでした。
NGINX + PHP-FPM + FUELPHPのREWITEのサンプルなどはたくさん見つかりましたが、
NGINX + APACHE + FUELPHPのREWITEの情報はうまく見つけることができませんでした。
この辺りは経験不足で何をどうすればいいか、手詰まりになってしまいました。
どうかご教授のほどよろしくお願い致します。
##example upstream backend-apache { server backend.com:8080; } server { gzip on; gzip_types text/plaintext/css gzip_disable "MSIE [1-6]\."; gzip_disable "Mozilla/4"; gzip_buffers 64 8k; gzip_min_length 1000; listen 443; ssl on; ssl_certificate /etc/letsencrypt/live/backend.com/cert.pem; ssl_certificate_key /etc/letsencrypt/live/backend.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; server_name backend.com; index index.php index.html index.htm; charset UTF-8; server_tokens off; root /var/www/html/backend/public; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS"; add_header Access-Control-Allow-Headers "Origin, Authorization, Accept"; add_header Access-Control-Allow-Credentials true; location ~* .*\.(jpg|JPG|gif|GIF|png|PNG|swf|SWF|css|CSS|ico|ICO|html|HTML|htm|HTM|js|JS|eot|EOT|ttf|TTF|svg|SVG|woff|WOFF|wav|WAV|mp3|MP3|exe|EXE|pdf|PDF) { expires 90d; break; } ##ここのtry_fileでうまくいかないというか、部分的に問題が出たりするなど。 ##FUELPHPに最適なREWRITE処理はありますでしょうか? ##REST CONTROLLERの /api/getInformation.json ##のようなものも、ちゃんとAPACHE側に転送したい。 location / { try_files $uri /index.php?$uri; proxy_set_header Host $host; proxy_set_header X-RealIP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass proxy_pass http://backend-apache; break; } location ~ /\. { access_log off; log_not_found off; deny all; } #location ~ /\. { deny all; } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。