zoukankan      html  css  js  c++  java
  • Nginx配置https

    前提条件

    服务器已安装 SSL 驱动
    建议使用最新稳定版 Nginx Stable version。
    确保已经获取数字证书。(一般是一个 key 文件和一个 pem 文件)

    SSL相关配置

    打开Nginx的conf目录下的nginx.conf配置文件,定位以下代码段:

    ## HTTPS
    # #server {
    	...
    #}
    

    将以上代码段替换为:

    server {
        listen 443 ssl;
        server_name xxx.com www.xxx.com;
        ssl_certificate  /xxx/xx/rsa.pem;      #RSA证书路径
        ssl_certificate_key  /xxx/xx/rsa.key;  #RSA证书私钥路径
        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;
        }
    
        location ^~/jsdoctor-platform-admin/ {
               proxy_set_header X-Forwarded-For $remote_addr;
               proxy_pass http://localhost:8090;
        }
    }
    

    重启Nginx服务器

    选择以下方式之一,重启Nginx服务器:
    运行 .../nginx/sbin/nginx -t 进行检测,若出现异常,按照提示解决;若没有问题,运行 .../nginx/sbin/nginx -s reload 热加载。
    运行 pkill nginx 关闭 nginx 进程,并运行 ../nginx/sbin/nginx 启动 Nginx 服务器。

    强制HTTP跳转HTTPS(可选)

    为了将用户默认的HTTP请求自动跳转为HTTPS请求,打开nginx.conf配置文件,添加一下代码:

    server {
        listen 80;
        return 301 https://$host$request_uri;
        location / {
        	...
        }
    }
    

    解决HTTP静态资源访问

    网站配置了 https 访问,使用 http 访问资源正常,使用 https 无法访问 http 静态资源。(常见于静态资源分离的项目)
    如果在一个 https 页面里动态的引入 http 资源,比如引入一个 js 文件,会被直接 block 掉的。不过如果您的网站同时准备了 https 资源和 http 资源,那么可以使用相对协议实现当网站引入的都是 http 资源,网站域名更换为 https 后的无缝切换。

    具体使用方法为:

    <img src="//xxx.png">
    

    不指定资源是 http 还是 https 即可。此时需要配置静态资源为 https,否则将无法找到对应资源。
    只需要在代理图片 server 上也加上 ssl 配置即可。

    遇到的问题

    FAQ:配置都是正确的,但是以 https 的方式访问网站没有响应。
    云服务器请确保 443 端口是开放状态

  • 相关阅读:
    基于SOA分布式架构的dubbo框架基础学习篇
    项目管理 绩效考核
    性能测试晋级教程
    从页面走向单元实现真正的业务驱动
    微软的开源Sonar工具测试网站的性能和安全性
    2.动手实操Apache ZooKeeper
    1. Apache ZooKeeper快速课程入门
    开发人员的福音:微软、谷歌、Mozilla将他们所有的Web API文档放在同一个地方
    Happy Java:定义泛型参数的方法
    比较两个文件不同以及生成SQL插入语句
  • 原文地址:https://www.cnblogs.com/manastudent/p/12264258.html
Copyright © 2011-2022 走看看