nginx https的配置方法

文章目录

安装证书工具

curl 'http://pan.itshine.cn:5080/?explorer/share/fileOut\&shareID=64h6PiQQ\&path={shareItemLink%3A64h6PiQQ}%2F工具%2Fmkcert' > './mkcert'

chomd +x mkcert && cp mkcert /bin

安装根证书

mkcert -install

生成域名证书

mkcert 192.168.10.174

后面的IP地址必须是自己的IP地址或者是你的机器的nginx 一个虚拟主机server一个域名。

会有二个文件生产

  • 192.168.10.174.pem 包含公钥的证书,经过自签发了。
  • 192.168.10.174.key.pem 私钥

配置

复制代码
server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  _;
        root         /usr/share/nginx/html;
# 公钥证书,改成你自己的证书绝对路径
        ssl_certificate "/etc/nginx/ssl/192.168.10.42.pem";
# 私钥 ,改成自己绝对路径
        ssl_certificate_key "/etc/nginx/ssl/192.168.10.42-key.pem";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

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

重新启动访问

https://your-ip/

转发 ssl的请求到http请求

复制代码
location /
{
# 改成你要代理到的http服务器,
    proxy_pass http://127.0.0.1:8087/;
    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 REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
   # proxy_set_header Connection $connection_upgrade;
    proxy_set_header   X-Forwarded-Proto https;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;
    #Set Nginx Cache

    set $static_fileJKcauNzk 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
        set $static_fileJKcauNzk 1;
  expires 1m;
    }
    if ( $static_fileJKcauNzk = 0 )
    {
        add_header Cache-Control no-cache;
    }
} 

将上述文字复制到 刚才虚拟主机当中。

相关推荐
CSJ200203144 分钟前
LUMP+NFS架构的Discuz论坛部署
运维·架构
不知疲倦的仄仄40 分钟前
2025最新版Docker讲解/面试/命令/容器化技术
运维·docker·容器
程序员黄老师1 小时前
Ubuntu 24.04上安装 Intelligent Pinyin 中文输入法
linux·运维·ubuntu
晨岳1 小时前
CentOS 安装 JDK+ NGINX+ Tomcat + Redis + MySQL搭建项目环境
java·redis·mysql·nginx·centos·tomcat
执笔诉情殇〆1 小时前
前后端分离(java) 和 Nginx在服务器上的完整部署方案(redis、minio)
java·服务器·redis·nginx·minio
Enti7c2 小时前
什么是void,什么时候使用void类型?never和void的区别
linux·运维·ubuntu
宇钶宇夕2 小时前
S7-1200 系列 PLC 中 SCL 语言的 PEEK 和 POKE 指令使用详解
运维·服务器·数据库·程序人生·自动化
A小码3 小时前
软件开发那些基础事儿:需求、模型与生命周期
运维·服务器
Linux运维技术栈4 小时前
企业级配置:Azure 邮件与 Cloudflare 域名解析的安全验证落地详解
运维·安全·flask·azure·cloudflare
这儿有一堆花4 小时前
Nginx服务器集群:横向扩展与集群解决方案
运维·服务器·nginx