Nginx 配置 https, static

本文介绍如何获取并配置HTTPS证书,包括从华为领取免费证书、为Nginx安装SSL模块、配置SSL证书及验证配置成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:  准备https证书

  https 证书: 我是从华为领了一个一年的免费https证书。

 下载证书

     我们是配置 nginx 证书, 所以就拿nginx文件中的证书就行 

2: 准备nginx  ssl 模块

我的路径是:  usr/local/nginx 

进入  nginx 安装目录:   usr/local/nginx 

命令:  ./sbin/nginx  -v

查看是否有 ssl模块, 下图是没装的 

安装 ssl 模块: 

一般情况下都是不存在ssl模块的,接下来进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是解压缩后的目录,进入目录后,输入 

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 

https模块: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

然后执行:

make

#切记不要执行make install,否则会重新安装nginx

上述操作执行完成以后,你的目录下会出现objs文件夹,文件夹内存在nginx文件,如图:

将此目录的  nginx 文件 替换安装目录sbin下的nginx:

#进入nginx安装目录停止nginx服务  

./sbin/nginx -s stop

如果 安装了  keepalive  nginx 高可用, 则需停止 keepalive, 

没有加入系统服务则 pkill -9 keepalive

systemctl stop keepalived.service

#替换之前的

nginx cp /root/nginx/objs/nginx /usr/local/nginx/sbin

替换后启动  keepalive   , 启动 nginx

查看 是否 安装成功

./sbin/nginx -V  

出现如下则是ssl 安装成功了。 

3: 配置  ssl证书

在Nginx的安装目录下创建cert目录,并且将“server.key”和“server.crt”拷贝到nginx的“cert”目录下。

在nginx 安装目录下配置 nginx.conf 文件

    重启 nginx      ./sbin/nginx -s reload 

4: 浏览器  https 协议访问, 访问成功则 https 配置成功了。 

华为官网 也有配置文档的

### 配置 Nginx 使用 HTTPS 提供静态文件 为了使 Nginx 能够通过 HTTPS 协议提供静态资源,需要确保服务器上已安装并配置好 SSL/TLS 证书。以下是具体配置方法: #### 安装必要的软件包 确保已经安装了 Nginx 及 OpenSSL 库[^1]。 #### 获取SSL证书 可以从 Let's Encrypt 或其他认证机构获取免费或付费的 SSL 证书。假设这些证书保存在 `/etc/nginx/ssl` 文件夹内。 #### 修改Nginx配置文件 编辑站点对应的 Nginx 配置文件,在 server 块中加入如下设置来启用 HTTPS 并指定静态文件路径: ```nginx server { listen 443 ssl; # 替换成实际域名 server_name example.com; # 设置SSL证书位置 ssl_certificate /etc/nginx/ssl/example_com.crt; ssl_certificate_key /etc/nginx/ssl/example_com.key; # 启用HSTS头信息提高安全性 add_header Strict-Transport-Security "max-age=31536000"; location /static/ { alias /path/to/static/files/; expires max; access_log off; } } ``` 此段代码定义了一个监听于端口 443 的服务实例,并指定了用于加密通信的公钥和私钥的位置。对于所有以 "/static/" 开始的请求,会返回位于磁盘上的相应静态文件[^2]。 #### 自动重定向HTTP至HTTPS 为了让用户始终通过安全连接访问网站,可以在同一配置文件中的另一个 `server` 块里添加自动跳转逻辑: ```nginx server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; } ``` 这段配置使得任何尝试通过 HTTP 访问该站的人都会被永久重定向到相同 URL 的 HTTPS 版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值