nginx配置https和http共存

1 问题

服务器安装了ssl证书,在nginx配置了https监听的443端口后,只能收到https的请求,http请求被拦截了

2 原nginx配置ssl写法

server {

listen 443;

server_name localhost;

ssl on;

root html;

index index.html index.htm;

ssl_certificate cert/a.pem;

ssl_certificate_key cert/a.key;

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location / {

root html;

index index.html index.htm;

}

}

3 https和http共存nginx配置写法

server {

listen 80;

listen 443 ssl;

server_name localhost;

#ssl on;

root html;

index index.html index.htm;

ssl_certificate cert/a.pem;

ssl_certificate_key cert/a.key;

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location / {

root html;

index index.html index.htm;

}

}

4 小结

实现https和http共存只需要改动三个地方

listen 80;
listen 443 ssl;
#ssl on;

意思是只有443端口是https方式访问,80端口还是http方式访问。

另开启了ssl,网站就不能有非https的资源引用了。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值