配置实现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;

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

}

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

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

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227G1BQIK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券