Nginx的 – redirect所有“结帐”stream量到https?

我想确保没有人可以通过https检查过程。 如果没有,我怎么能redirect以/ checkout(如example.com/checkout&example.com/checkout/process)开头的任何内容到https。

反之亦然,我不希望任何页面能够通过https访问, 除非它有/结帐。 所以其他的东西都应该redirect到http。

使用静态位置:

server { listen 80 default; server_name example.com; access_log /var/log/nginx/example.com.access.log; location / { root /var/www/example.com; } location /checkout { rewrite ^/(.*)$ https://example.com/$1 redirect; } } server { listen 443; server_name example.com; location / { rewrite ^/(.*)$ http://example.comt/$1 redirect; } location /checkout { root /var/www/example.com/checkout; } ssl on; ssl_certificate myssl.crt; ssl_certificate_key myssl.key; }