2016-06-10 2 views
0

У меня есть приложение node.js на VPS. Единственный путь мой провайдер VPS позволяет использовать Node.js создает файл .htaccess с этими правилами:Перенаправить на HTTPS и переписать в локальное приложение .htaccess

RewriteEngine on 
RewriteRule ^(.*)$ http://localhost:8080/$1 [P] 

Я не получить доступ к сайту с локального хоста, но из публично доступного домена - как http://example.com.

Если я использую правила выше, он работает должным образом. Но мне также нужно перенаправить все трафик на HTTPS. Таким образом, я сделал следующие изменения:

RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301] 

RewriteCond %{HTTPS} on 
RewriteRule ^(.*)$ http://localhost:8080/$1 [P] 

Но у меня есть точное поведение, как в предыдущем правиле. Это перенаправление trafic на localhost, но это не заставляет браузер использовать HTTPS.

Пожалуйста, кто-нибудь знает, где проблема? Спасибо за ваши предложения.

ответ

0

Попробуйте это:

RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} on 
RewriteRule ^(.*)$ http://localhost:8080/$1 [P] 
+0

до сих пор нет изменений .. Aplication доступен, но не HTTPS не принуждают .. –

+0

могли бы вы поделиться, который хостинг это? Я считаю, что их причуда не анализирует весь htaccess, а просто ищет прокси-сервер localhost для работы node.js. Не могли бы вы попробовать любое другое правило .httaccess и посмотреть, работает ли оно? –

+0

Ну, провайдер http://www.savana.cz/, это просто простой php-хостинг на обычном ubuntu VPS, к которому у меня есть ssh-доступ. У меня даже нет доступа root. Но бросьте, что я контролирую узел npm ad. –

Смежные вопросы