私のシナリオ:
私は自分のUIを切断するApacheを実行しており、ノードapiをポート2000で実行しています。Apacheで予約プロキシを使用してAPIへのリクエストをプロキシし、sslも構成しており、httpをhttpsにリダイレクトしたいと思います。これは私の次の設定です
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
RewriteEngine on
RewriteRule ^/api/v1/(.*) http://localhost:2000/api/v1/$1 [P,L]
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
SSL設定
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/Apache2/ssl/example.com.crt
SSLCertificateKeyFile /etc/Apache2/ssl/pkey.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
リダイレクトが多すぎるのですが、どうすれば解決できますか?
書き換えルールの代わりにリダイレクトを使用することもできます。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://www.example.com
ErrorLog ${Apache_LOG_DIR}/error.log CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>