解决nginx配置ssl允许http https同时访问的方法

在配置完成https的之后,可能有的站长也想支持http访问,不知道是出于什么目的。既然有需求那么我们看看怎么解决nginx配置ssl允许http https同时访问的方法。

如果在配置https之后,不通过301重定向的到https的话,那么在访问http的时候就会出现报错。

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

当然,你要是想同时支持http和https访问的话,301重定向肯定是没得做了。不多说,我们看看怎么操作。

实例:

假设我们的conf配置如下。

  1. server {
  2.     server_name YOUR_DOMAINNAME_HERE;
  3.     listen 443;
  4.     ssl on;
  5.     ssl_certificate /usr/local/nginx/conf/server.crt;
  6.     ssl_certificate_key /usr/local/nginx/conf/server.key;
  7. }

编辑之后:

  1. server {
  2.     server_name YOUR_DOMAINNAME_HERE;
  3.     listen 443 ssl;
  4.     ssl_certificate /usr/local/nginx/conf/server.crt;
  5.     ssl_certificate_key /usr/local/nginx/conf/server.key;
  6. }

把ssl on;这行去掉,ssl写在443端口后面。这样http和https的都可以访问,完美解决nginx配置ssl允许http https同时访问的问题。

点赞

发表评论