私はnode.jsアプリケーションをlocalhost:8180
で実行しています。https:// wwwにApacheをリダイレクトしてからlocalhostにプロキシする
私は、ウェブからhttps://www.example.com経由でのみアクセスできるようにします。
目標は、http://example.com
、http://www.example.com
、https://example.com
からhttps://www.example.com
に行くすべてのトラフィックをリダイレクトすることです。
私はPleskパネルv12.5.30にアクセスできます。このパネルでは、httpとhttps要求に対して個別の.htaccessルールを設定できます。パネルには、次のようになります。
私は、このパネルを使用して、私の目標を達成することはできますか?
httpとhttpsに対して次のルールを試しましたが、プロキシエラーが発生しました。
HTTP
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com$1 [L,R=301]`
HTTPS
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://localhost:8180$1 [P]
ProxyPassReverse/http://localhost:8180/
事がWWWでhttpをhttpsにリダイレクトすることは完璧に動作していることです。 httpsバージョンの条件付きリダイレクトに問題があります。これはうまくいくはずです:wwwにリダイレクトせず、ローカルホストにwww->プロキシーを持っています –
はい、上記のようにnginxの条件を使うことができます: 'if($ scheme!= https)' https://serverfault.com/questions/586586/nginx-redirect-via-proxy-rewrite-and-preserve-url –
ロケーションブロックを試すことができます:https://serverfault.com/questions/586586/nginx-redirect -via-proxy-rewrite-and-preserve-url –