通常我的nginxconfiguration如下所示:
server { listen 80; server_name example.com; <some long config> } server { listen 443; server_name example.com; ssl on; ssl_certificate qwe.crt; ssl_certificate_key qwe.key; <the same long config> }
如何转发所有的https请求到http服务器指令(不发送redirect到客户端,但在nginx内转发),这样我就不需要写两次相同的configuration?
find解决scheme
server { listen 80; listen 443 ssl; server_name www.example.com; ssl_certificate www.example.com.crt; ssl_certificate_key www.example.com.key; <some long config> }
你只有两个服务器指令…
当然,你可以这样做(httpsredirect到http),这没有什么区别。
在Nginx中,如何在维护子域的同时将所有http请求重写为https?
server { listen 80; server_name my.domain.com; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443; server_name my.domain.com; ssl on; [....] }