ngnix 配置 https 前端 请求 http接口的后端
时间: 2024-09-13 09:04:46 浏览: 55
在NGINX配置中,如果需要让前端通过HTTPS访问而连接到HTTP后端服务,通常会使用反向代理(Reverse Proxy)。以下是基本步骤:
1. **SSL/TLS设置**:
- 安装并配置SSL证书,添加到`/etc/nginx/ssl/`目录下。
- 使用`server`块在`nginx.conf`或`.conf`文件中启用HTTPS监听,例如:
```nginx
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
}
```
2. **创建代理规则**:
- 添加一个新的`location`块来处理HTTPS请求,这里将代理到HTTP后端:
```nginx
location /api {
proxy_pass http://your-backend-ip-or-domain/api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
if ($http_upgrade = 'websocket') {
proxy_set_header Upgrade 'websocket';
}
}
```
这里假设后端服务器地址是`http://your-backend-ip-or-domain/api`。
3. **前缀匹配**:
- 如果所有HTTP接口都应通过代理,则可以使用通配符如`*`,如:
```nginx
location ~ ^/api/(.*)$ {
# ... 相同的代理配置 ...
}
```
4. **重启NGINX**:
执行`sudo service nginx restart`命令以应用新的配置。
注意:为了保持安全,确保后端服务器支持HTTPS终止策略(也称为“SSL剥离”),因为NGINX仅负责加密传输,而不处理实际的数据交换。
阅读全文