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请求都可以正常使用!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐