我尝试将来自非localhost连接的所有请求从http重定向到https。
我使用this combination https-> nginx - >清漆 - > apache2并希望在没有ssl的情况下将重定向直接连接到apache
FXMLLoader myLoader = new FXMLLoader(getClass().getResource(resource));
这不起作用
更新1
我说这个:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]
这是工作 - 浏览器中的网址被重定向到https:// 但我有无限循环,所以apache重定向到https:// nginx作为http的apache并重定向。怎么解决?
更新2
如果我换线
RewriteCond %{REMOTE_ADDR} !=localhost
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]
到
RewriteCond %{REMOTE_ADDR} !=localhost
重定向停止工作
更新3 这不起作用,因为我有
http - &gt;清漆 - &gt;阿帕奇 要么 https - &gt; nginx - &gt;清漆 - &gt;阿帕奇
所以对于apache,所有时间都有127.0.0.1 所以我需要知道这是直接从http或清漆
的varnish请求可能在nginx中添加一些var(header?),如果请求在apache htacces中没有这个头,则重定向到https。什么是最好的方法?
更新4 我设置了iginx -
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
和
在apache中
add_header Mea-request nginx;
但仍然无效
我认为这条线不正确
RewriteCond %{HTTP:Mea-request} != ^nginx$
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]
答案 0 :(得分:0)
工作版:
在nginx中
Date date0005 = new java.util.Date();
date0005.setHour(00);
date0005.setMinutes(05);
// instead of this here can be function to found nearest hh:m5 from run
Timer timer = new Timer();
timer.sc(myOwnTimerTask,date0005, 600000);
in varnish
proxy_set_header X-APP_MEAREFER nginx;
在apache2中
set resp.http.X-APP_MEAREFER = req.http.X-APP_MEAREFER;
在任何人都知道更好的方式请信息。