nginx配置指令之https

1. 虚拟主机的证书配置

Syntax:ssl_certificate file;
Default:
Context:httpserver

Specifies a file with the certificate in the PEM format for the given virtual server.

2. 虚拟主机的私钥文件

Syntax:ssl_certificate_key file;
Default:
Context:httpserver

Specifies a file with the secret key in the PEM format for the given virtual server.

3. 加密算法配置

Syntax:ssl_ciphers ciphers;
Default:
ssl_ciphers HIGH:!aNULL:!MD5;
Context:httpserver

Specifies the enabled ciphers. The ciphers are specified in the format understood by the OpenSSL library, for example:

ssl_ciphers ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

4. 传输协议版本配置

Syntax:ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2] [TLSv1.3];
Default:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Context:httpserver

Enables the specified protocols.

The  TLSv1.1 and  TLSv1.2 parameters (1.1.13, 1.0.12) work only when OpenSSL 1.0.1 or higher is used.

 

The  TLSv1.3 parameter (1.13.0) works only when OpenSSL 1.1.1 built with TLSv1.3 support is used. 

 Reference: 

1. https://nginx.org/en/docs/http/ngx_http_ssl_module.html;

2. https://nginx.org/en/docs/http/configuring_https_servers.html;

### 配置 Nginx 将后端地址设置为 HTTPS 为了实现将 Nginx 的后端服务器配置HTTPS 地址,可以通过 `proxy_pass` 指令来指定目标 URL 为 HTTPS 协议。以下是完整的配置方法: #### 1. 修改 `server` 块中的 `proxy_pass` 在 Nginx 中,当需要代理到后端的 HTTPS 服务时,需确保 `proxy_pass` 参数指向 HTTPS 地址,并启用必要的 SSL/TLS 支持。 ```nginx server { listen 80; server_name example.com; location / { proxy_pass https://backend.example.com/; 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_ssl_verify off; # 如果不需要验证后端证书,则关闭验证 proxy_ssl_trusted_certificate /path/to/backend/ca.crt; # 可选:信任的 CA 证书路径 proxy_read_timeout 90s; } } ``` 在此配置中: - `proxy_pass` 被设置为目标 HTTPS 后端地址[^2]。 - 添加了 `proxy_ssl_verify off` 来禁用对后端证书的验证(仅适用于开发环境或自签名证书场景)。对于生产环境,建议保留此选项并提供可信的 CA 证书[^2]。 - 使用 `proxy_ssl_trusted_certificate` 提供受信的根证书链文件(可选),以便验证后端服务器的身份。 #### 2. 处理后端认证失败的情况 如果启用了 `proxy_ssl_verify on` 并且后端使用的是自签名证书,可能会导致握手失败。此时可以上传后端使用的 CA 文件至 Nginx 主机,并将其路径传递给 `proxy_ssl_trusted_certificate` 参数。 #### 3. 测试与应用更改 完成修改后,测试 Nginx 配置的有效性并重新加载服务: ```bash sudo nginx -t sudo systemctl reload nginx ``` 以上操作能够使 Nginx 成功代理流量至支持 HTTPS 的后端服务。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值