Nginx配置同时访问http和https

博客讲述了nginx配置SSL证书后,https能正常访问,但http访问报400错误的问题。原因是http请求被发送到https端口。解决办法是去掉“ssl on;”,并在443端口后写ssl,之后http和https请求均可正常使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值