直接说解决方案:
1.首先要申请一个ssl证书,注意不能把网站的ssl证书给dify配置,要独立出来!
2.配置nginx,在http中添加dify的配置如下:
# ================== Dify 服务专用配置 ==================
server {
listen 443 ssl;
server_name dify.your.servername.com; # Dify专用子域名
# SSL证书配置(使用相同证书或单独申请)
ssl_certificate /etc/nginx/conf/ssl/dify.your.servername.com_bundle.crt;#填写你的证书crt文件真实地址
ssl_certificate_key /etc/nginx/conf/ssl/dify.your.servername.com.key;#填写你的证书key文件的真实地址
access_log /var/log/nginx/dify_access.log;
error_log /var/log/nginx/dify_error.log;
# 安全头部设置
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
# 核心配置:反向代理到Dify服务
location / {
# ====== CORS 跨域配置 ======
# 允许Webman主域名跨域访问
add_header 'Access-Control-Allow-Origin' 'https://zsd.yourweb.com' always; #填写你要嵌入的网站的地址
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Requested-With' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
# 处理OPTIONS预检请求
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' 'https://zsd.yourweb.com';#你嵌入网站
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
# ====== 反向代理配置 ======
proxy_pass http://localhost:8081; # Dify服务端口修改你自己的
proxy_http_version 1.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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 超时设置
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
# 缓冲区优化
proxy_buffering off;
proxy_request_buffering off;
}
# 静态资源缓存设置
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
proxy_pass http://localhost:8088; #你自己dify的地址
expires 30d;
add_header Cache-Control "public";
}
}
3818

被折叠的 条评论
为什么被折叠?



