Nginx之启用HTTPS网站

Posted

tags:

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

nginx经常被用于终结SSL连接,可能是因为上游服务器不能够使用SSL。要使用SSL就需要在编译安装时在Nginx的二进制文件中添加--with_http_ssl_module模块,并且要安装ssl证书和秘钥。

以下示例代码表示对客户端和反向代理之间的流量进行加密,主要应该在内部网络建设安全性很高的情况下。

server {
        listen              443 default ssl;
        server_name          www.test.com;

        ssl_prefer_server_ciphers   on;
        ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
        ssl_certificate       conf.d/cert/server.crt;
        ssl_certificate_key   conf.d/cert/server.key;
        ssl_session_timeout   5m;
        ssl_session_cache     shared:WEB:10m;
        ssl_ciphers           ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

    location / {
        proxy_http_version 1.1; 
        proxy_set_header X-FORWARDED-PROTO https;   #使上游服务器的应用程序知道原始请求使用了https
        proxy_set_header Host $host; 
        proxy_pass http://upstream; 
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

# http重定向到https
server {
    listen          80;
    server_name     www.test.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

以上是关于Nginx之启用HTTPS网站的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 之 实现https

如何在宝塔面板启用 ASP.NET CORE 网站并自动申请 HTTPS 证书

Nginx安装与升级 Nginx服务器 Nginx虚拟主机 HTTPS加密网站

HTTP 到 HTTPS Nginx 重定向过多

nginx启用HSTS以支持从http到https不通过服务端而自动跳转

nginx启用HSTS以支持从http到https不通过服务端而自动跳转