Nginx常见使用技巧
HTTPS 代理
txt
server
{
listen 443 ssl;
# IP或域名
server_name www.you-domain.cn;
# 证书地址
ssl_certificate /ssl/git/cert.pem;
# 证书私钥地址
ssl_certificate_key /ssl/git/cert.key;
location / {
# 代理地址, 这里我转发到本机的8080端口
proxy_pass http://0.0.0.0:8080;
proxy_set_header Host $host;
# 转发请求的IP
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_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
}
}
proxy_pass
指令将请求转发到上游服务器。proxy_set_header
指令用于设置转发给上游服务器时的请求头。
强制 HTTPS
多用于 http 强制转向 https
txt
server
{
listen 80;
# IP或域名
server_name www.you-domain.cn;
rewrite ^(.*)$ https://$host$1 permanent;
}
代理以/api/开头的请求
location /api/
块表示所有到 /api/
路径的请求都会被代理到 http://192.168.0.1
上。
txt
server {
listen 80;
location /api/ {
proxy_pass http://192.168.0.1;
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;
}
}