是否可以使用nginx w/a重定向在HTTP和HTTPS上托管静态页面?
我有一个网站,我正在为某人,涉及一些自定义流星应用静态信息网站工作。我想有一个静态网站服务,通过HTTP与一个URL作为重定向到HTTPS,流星应用程序将生活的服务 我尝试了几种方法,这是HTTP端的最新尝试:是否可以使用nginx w/a重定向在HTTP和HTTPS上托管静态页面?,nginx,meteor,Nginx,Meteor,我有一个网站,我正在为某人,涉及一些自定义流星应用静态信息网站工作。我想有一个静态网站服务,通过HTTP与一个URL作为重定向到HTTPS,流星应用程序将生活的服务 我尝试了几种方法,这是HTTP端的最新尝试: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; # Make site accessible from http://localhost/ se
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
# Make site accessible from http://localhost/
server_name dev.mysite.com;
location /app {
return 301 https://$http_host$request_uri$is_args$query_string;
}
location / {
root /var/lib/www;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
这里的想法是,静态站点是从Blocs应用程序创建和生成的,它将包括一个指向/app
的导航链接,然后重定向回HTTPS。我遇到的问题是,一旦浏览器(尝试了Chrome和Firefox)“看到”HTTPS站点,它将根本不会返回到非HTTPS站点。任何试图转到HTTP站点获取任何URL的行为都会迫使您返回HTTPS。另外,/app
上的重定向似乎不起作用。如果有帮助的话,我正在通过mupx部署Meteor应用程序
这种设置可能吗?如果可能的话,我的配置哪里错了?我不知道您是否已经解决了这个问题,但是这里有一些关于NGINX配置的起点 当您访问
dev.mysite.com/
时,它默认为/location块,您的内容将得到服务。但是,当您访问dev.mysite.com/app
时,它将通过https返回,因此您需要配置一个额外的服务器块来侦听443(或者您可以使用listen ssl
),并在该块中设置根或代理路径以服务于您的安全内容
对于导航回非HTTPS的情况,可能是您下面的链接指定使用HTTPS,所以我从这里开始。此外,您的URL可能包含../app/..
,在这种情况下,它将落入/app
位置块并返回HTTPS
最后一点意见:
如果您有一个保护dev.mysite.com的证书,那么通过HTTPS提供所有内容可能会更容易。如果你不想这样做,那么给你的静态非HTTPS站点一个不同的子域名,这样链接就可以引用它,NGINX将能够处理它