配置实现https

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置实现https相关的知识,希望对你有一定的参考价值。

1.生成key文件:

openssl genrsa -out ssl.key 2048

#提示输入密码,暂时回车

#测试环境不要加密码,每次调试都要输入密码很麻烦

 

2.使用key生成一个csr文件:

openssl req -new -key ssl.key -out ssl.csr

#测试环境,出提示一路回车即可

 

3.用csr文件、key文件,颁发证书

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

#生成一个ssl.crt证书文件

 

4.修改nginx配置文件

#之前编译nginx已经默认支持ssl模块

#如不确定,可以用 nginx -V 查看版本及编译参数

 

两种方法:

1.负载均衡服务器实现

2.实际的webserver实现

 

这里采用在负载服务器上实现:

nginx.conf配置文件中:

listen 改为443

listen       10.0.0.3:443;

 

然后在server区块加入内容:

###https

        ssl on;

        ssl_certificate /application/nginx/ssl/ssl.crt;

        ssl_certificate_key  /application/nginx/ssl/ssl.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

 

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

###end

最后加了一个location区块: ——避免了每次跳转网页时变成http

    server {

         listen 10.0.0.3:80;

         server_name www.george.com;

  rewrite ^/(.*) https://www.george.com/$1 permanent;

        }

 

重启nginx 测试,成功(由于是本地测试,仍然会提示不安全,但已经实现https访问)


1.做了https后,每次访问网址时显示异常

  因为https地址中,如果加载了http资源,浏览器将认为这是不安全的资源,将会默认阻止,这就会给你带 来资源不全的问题了,比如:图片显示不了,样式加载不了,JS加载不了。因为样式类,基本上都是写在本 地的,所以一般还可以,但是一些公共的js文件,往往就是存在于cdn或者其他服务器上,这时候,如果访 问不了,可能就导致了业务就完全操作不了。


小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅

技术分享图片

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

技术分享图片

以上是关于配置实现https的主要内容,如果未能解决你的问题,请参考以下文章

轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https

SpringBoot配置HTTPS,并实现HTTP访问自动转HTTPS访问

Windows下Nginx配置SSL实现Https访问(包含证书生成)

nginx配置ssl证书实现https访问

nginx配置阿里云免费ssl证书实现https化

树莓派/Debian Apache2 配置自建 CA 实现 HTTPS(SSL) 服务