对于给定的 vhost,我想要将一些路由/路径/URI 重定向到 HTTPS,同时允许其他路由/路径/URI 在 HTTP 上请求。
具体来说,我想允许通过 HTTP 请求 Artifactory 包,但要求通过 HTTPS 访问 Web UI。
我怎样才能做到这一点?
答案1
首先,确保您的server
块正在监听端口 80 和 443 上的请求。然后包含一个条件$scheme
和一个永久的rewrite
。
因此,要强制/webapp
(其下的任何内容) 使用 HTTPS,您可以使用:
server {
listen *:443 ssl;
listen *:80;
server_name www.example.com;
if ($scheme != 'https') {
rewrite ^/(webapp(/.*)?)$ https://$http_host/$1 permanent;
}
# ...
}