Nginx配置同时访问http和https

nginx配置SSL证书之后,https正常访问,但是http访问报400错误,配置如下:

server {
	listen 80 default backlog=2048;
	listen 443;
	server_name lcto.com;
	root /var/lcto/html;
	ssl on;
	ssl_certificate 	/usr/local/Tengine/sslcrt/lcto.crt;
	ssl_certificate_key /usr/local/Tengine/sslcrt/lcto.key;
}

http访问时报错:

400 Bad Request
The plain HTTP requset was sent to HTTPS port. Sorry for the inconvenience.
Please report this message and include the following information to us.
Thank you very much!

说明http的请求被发送到https的端口上去了,所以会报错!

解决

  1. ssl on;这行去掉
  2. 在443端口后写ssl
server {
	listen 80 default backlog=2048;
	listen 443 ssl;
	server_name lcto.com;
	root /var/lcto/html;
	ssl_certificate 	/usr/local/Tengine/sslcrt/lcto.crt;
	ssl_certificate_key /usr/local/Tengine/sslcrt/lcto.key;
}

http和https请求都可以正常使用!

上一篇:js - 反转单词前缀


下一篇:C++算法 线段树