在这篇CentOS云主机中Nginx正向代理http、https文章中已经分别介绍了nginx代理 http 和 https 请求。 但有时业务需要同个域名支持 https 和 http 两种方式访问,可以如下配置文件。 server { listen 80; listen 443 ssl; //修改后 server_name liu.test.com; location / { expires 302400s; proxy_pass http://xxxx/xxxx/; } #ssl on; //修改后 ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; access_log /usr/local/nginx/xxxx.log log_access; } 注意看标有//修改后的地方 如果你想强制使用https访问,对端口进行判断,然后rewrite即可。 if ($server_port != 443) { rewrite (.*) https://$host$1 permanent; } 参考文献 Nginx 同时支持http和https(ssl)共存的方法 (责任编辑:IT) |