1

我有一个网站,除了需要通过 http 服务的几个位置外,几乎整个网站都需要使用 https 连接。为此,我在 nginx 配置中设置了两台服务器。一种用于非安全连接,一种用于安全连接。但是对于非安全服务器,我希望只有在没有验证任何位置块时才能重写到安全网络服务器。

那可能吗?如果是,如何?

我的 nginx 配置的结构:

server {
   listen 80;
   ...
   location /foo1 { ... }
   location /foo2 { ... }
   # i can't get this rewrite to work only when all location blocks fail
   rewrite ^/(.*) https://foo.com/$1 permanent;
}
server {
   listen 443;
   ...
}

谢谢

4

1 回答 1

2

添加到server块的末尾:

location / {
    rewrite ^/(.*) https://foo.com/$1 permanent;
}
于 2012-04-27T08:03:23.753 回答