Files
Work-configuration-file/nginx/jenkins.deeplink.media.conf
dxin dab9078477 +
2025-11-29 19:11:29 +08:00

71 lines
3.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 定义 Jenkins 后端服务器组(可选,便于负载均衡或健康检查)
upstream jenkins_backend {
server 127.0.0.1:8080; # Jenkins 主服务地址
keepalive 32; # 连接池,提高性能
}
# HTTP → HTTPS 重定向服务器
server {
listen 80;
server_name jenkins.deeplink.media;
# 可选:添加安全头,防止 CRLF 注入
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
return 301 https://$server_name$request_uri;
}
# HTTPS 服务器(核心配置)
server {
listen 443 ssl;
server_name jenkins.deeplink.media;
# SSL 证书配置
ssl_certificate /data/tengine/conf/certificate/jenkins.deeplink.media_bundle.crt;
ssl_certificate_key /data/tengine/conf/certificate/jenkins.deeplink.media.key;
# SSL 安全协议和加密套件(推荐)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers off;
# SSL 会话缓存(可选,提升性能)
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 访问和错误日志
access_log /data/tengine/logs/jenkins_access.log;
error_log /data/tengine/logs/jenkins_error.log;
# 核心代理配置块
location / {
proxy_pass http://jenkins_backend; # 指向 upstream
# --- 关键:传递请求头给 Jenkins让 Jenkins 知道原始请求信息 ---
proxy_set_header Host $host:$server_port; # 传递原始 Host避免 Jenkins 重定向到 8080
proxy_set_header X-Real-IP $remote_addr; # 传递真实客户端 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 传递代理链 IP
proxy_set_header X-Forwarded-Proto $scheme; # 传递原始协议 (https)
proxy_set_header X-Forwarded-Port $server_port; # 传递原始端口 (443)
# --- 关键WebSocket 支持Jenkins 控制台输出、实时日志等需要) ---
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; # 升级协议头
proxy_set_header Connection "upgrade"; # 连接类型头
# --- 性能与安全 ---
proxy_request_buffering off; # 关闭请求体缓冲,对大文件上传友好
client_max_body_size 2G; # 保持你设置的大文件上传限制
# --- 超时设置 ---
proxy_connect_timeout 60s; # 连接超时
proxy_send_timeout 60s; # 发送超时
proxy_read_timeout 60s; # 读取超时
# --- 可选:安全头 ---
# add_header X-Frame-Options "SAMEORIGIN" always; # 防止点击劫持
# add_header X-Content-Type-Options "nosniff" always; # 防止 MIME 类型嗅探
# add_header Referrer-Policy "strict-origin-when-cross-origin" always; # Referrer 策略
}
# 可选:如果 Jenkins 使用了 AJP 连接器,可能需要取消注释下行(通常不需要)
# proxy_pass_header Server;
}