Nginx 配置https以及wss

一、申请https证书

可以在阿里云申请免费ssl证书,一年更换一次

二、Nginx配置ssl

shell 复制代码
upstream tomcat_web{
     server 127.0.0.1:8080;
}

server {
    listen  443 ssl;
    server_name  www.xxx.com;
	## 配置日志文件
    access_log  /var/log/nginx/web/xxx-ssl-access.log  main;
    error_log  /var/log/nginx/web/xxx-ssl-err.log;
    ## 配置证书所在目录
    ssl_certificate   sslkey/www.xxx.com.pem;
    ssl_certificate_key sslkey/www.xxx.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 1d;
    ssl_stapling on;
    ssl_stapling_verify on;
    ## 重要,否则应用redirect的时候,会跳转到http,这里强制替换成https
    proxy_redirect http:// $scheme://;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;

        proxy_set_header    Host $host;
        proxy_set_header    X-Real-IP  $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto  $scheme;
        proxy_pass      http://tomcat_web;
        proxy_http_version 1.1;
        ## 以下两个配置如果没配置,websocket会报错,链接时使用wss://
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

		## 配置上传文件大小 300Mb
        client_max_body_size 300m;
        client_body_buffer_size 128k;
        ## 配置链接超时时间 10分钟
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        proxy_buffer_size 64k;
        proxy_buffers   4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }

}

注意:

1、配置完成后nginx需要重启,reload证书是不会生效的

2、如需要支持wss协议,需要增加配置:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

3、配置https之后,最后就禁用掉http,通过如下配置,强制跳转https
proxy_redirect http:// $scheme://;

相关推荐
蓝胖的四次元口袋1 小时前
Docker Compose多容器编排与Nginx集群实战
运维·nginx·docker compose
懂软件的胡子个哥1 小时前
微信 API 消息回调怎么设计,才能避免丢消息和重复处理
运维·微信·架构·wechatapi·个人微信号二次开发
吉甫作诵1 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
师傅别念了2 小时前
Nginx 反向代理配置指南,看完这篇就够了
nginx
Acrellea3 小时前
告别粗放式能耗管理!安科瑞EIOT平台助力产业园区智慧低碳运营
运维·安全·能源
Databuff4 小时前
五款主流 SSH 免费工具介绍
运维·ssh·运维开发
菜鸟学编程o4 小时前
Linux常见指令
linux·运维·服务器
pt10435 小时前
AIOps机器学习——当警报阈值被调高之后
运维·人工智能·自动化
迪康coolmu5 小时前
企业文件外发管控落地实践 —— 基于迪康端点安全一体化管理系统
运维·网络·经验分享·安全
见闻小天地6 小时前
四方电气DL300变频器面向雕铣机多工况的技术参数与适配验证
运维·人工智能·业界资讯