前言

在很多时候我们希望我们的API接口同时支持http与https,其实这并不是什么难题,我们只需要把所有的http请求重定向到https上面就可以了。下面是nginx重定向例子,亲测有效。建议写两个server,监听不同的端口。

nginx.conf配置

upstream s1 {
	server 127.0.0.1:3000;
}

server {
	listen 443 ssl;
	server_name test.com;

	ssl_certificate   /home/www/nginx/cert/jmzjkj.com.pem;
	ssl_certificate_key  /home/www/nginx/cert/jmzjkj.com.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

	location / {
		proxy_pass http://s1;
	}
}

server {
	listen 80;
	server_name test.com;
	rewrite ^(.*)$ https://${server_name}$1 permanent; 
	// 或者 return 301 https://$server_name$request_uri;
}

祝大家生活愉快。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐