当前位置: 首页 > article >正文

nginx反向代理jupyter

1.jupyter配置

 打开配置文件 /home/jack/.jupyter/jupyter_notebook_config.py

2.反向代理配置

这个/jack/与上面添加的对应 
location  /jack/ {
        
        proxy_pass http://192.168.196.164:8888/jack/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           # WebSocket support
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
        #这是代理网站的资源,可以查看但不能下载
        add_header Content-Disposition "inline";
        add_header X-Content-Type-Options "nosniff";
      
}
proxy_http_version 1.1显然意思是指定http版本为1.1, 但是为什么呢? 你自己试试不就知道了如果不加的话, 在Notebook中将无法连接到内核, 一直会显示disconnected.
 
 
这个是资源禁止访问且禁止下载
 location ~ \.(zip|rar|sql|bak|gz|7z|py|pdf|doc|docx|xls|xlsx|out)$ {
        add_header Content-Disposition "inline";
        add_header X-Content-Type-Options "nosniff";
        #       return 404;
 
  }
 
 
 
 
浏览器禁止下载
 
  location  /jack/ {
        #rewrite /jack/files/* /1111;
        rewrite /jack/files/* /404 permanent;
        #rewrite /jack/files/(.*)$ /404;
        proxy_pass http://192.168.206.25:8888/jack/;
        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_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
        add_header Content-Disposition "inline";
       # add_header X-Content-Type-Options "nosniff";
       add_header X-Content-Type-Options "nosniff";
 
 }

例:

more /etc/nginx/conf.d/default.conf 
server {

  listen 443 ssl; # managed by Certbot
  ssl_certificate /etc/letsencrypt/live/ict-cloud.thupdi.com/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/ict-cloud.thupdi.com/privkey.pem; # managed by Certbot
  include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

  server_name  AA.BB.com;
  charset    utf-8;
  client_max_body_size 500m;
  # tomcat 81端口
  location / {
     proxy_pass http://127.0.0.1:81/;
  } 

   location /v2/ {
     proxy_pass http://IP:81/;
   } 

  # 由于81端口下有应用是以thcloud开头的,所以这个地方需要使用正则表达式匹配
  location /thcloud/ {
    proxy_pass http://127.0.0.1:8081/thcloud/;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";  
    proxy_read_timeout 5m;
  }
 
  location /new/thcloud/ {
    proxy_pass http://172.30.11.155:8081/thcloud/; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade,keep-alive";
    tcp_nodelay on;
    proxy_http_version 1.1;
    proxy_buffering off;
    proxy_request_buffering off;
    proxy_set_header X-Accel-Buffering no;
    proxy_max_temp_file_size 0; 
  }

  location /sjzl/ {
    proxy_pass http://IP:9090/sjzl/;
  }

  location /geoserver/ {
     proxy_pass http://IP:8080/geoserver/;
  }
 
  location /jupyter {
     proxy_pass http://IP:8000/;
  }
  
  location /hub {
     proxy_pass http://IP:8000/hub/;
  }

  location /user/jupyteradmin {
    proxy_pass http://IP:8000/user/jupyteradmin;
  }  

  location /user/jupyterhub {
    proxy_pass http://IP:8000/user/jupyterhub;
  }  

#0218

#这个/jupyterhub/与上面添加的对应 
  location  /jupyterhub/ {
        
        proxy_pass http://IP:8000/jupyterhub/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           # WebSocket support
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
        #这是代理网站的资源,可以查看但不能下载
        add_header Content-Disposition "inline";
        add_header X-Content-Type-Options "nosniff";
      
      }
 #  proxy_http_version 1.1显然意思是指定http版本为1.1, 如果不加的话, 在Notebook中将无法连接到内核, 一直会显示disconnected.
 
 
#这个是资源禁止访问且禁止下载
    location ~ \.(zip|rar|sql|bak|gz|7z|py|pdf|doc|docx|xls|xlsx|out)$ {
        add_header Content-Disposition "inline";
        add_header X-Content-Type-Options "nosniff";
        #       return 404;
 
   }
 
 
#浏览器禁止下载
 
   #location  /jupyterhub/ {
   location  // {
        #rewrite /jupyterhub/files/* /1111;
        rewrite /jupyterhub/files/* /404 permanent;
        #rewrite /jupyterhub/files/(.*)$ /404;
        proxy_pass http://IP:8000/jupyterhub/;
        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_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
        add_header Content-Disposition "inline";
       # add_header X-Content-Type-Options "nosniff";
       add_header X-Content-Type-Options "nosniff";
 
     }


  location ~ ^/.well-known/acme-challenge {
    allow all;
    root /var/www/html;
    try_files $uri = 404;
    break;
  }
      

  location /arcgis/ {
    proxy_pass http://127.0.0.1:6080;
    proxy_redirect off;
  }
     # arcgis服务 重定向 (IP访问转域名访问)
  location /arcgis/rest/services/ {
    proxy_pass    http://127.0.0.1:6080/arcgis/rest/services/;
  }

  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
    root   /usr/share/nginx/html;
  }

}


server {
    listen 80;
    server_name AA.BB.com; 
    location / {
       return 301 https://$host$request_uri;
    }
    if ($host = ict-cloud.thupdi.com) {
       return 301 https://$host$request_uri;
    }
}


http://www.kler.cn/a/552343.html

相关文章:

  • C++中std::condition_variable_any、std::lock_guard 和 std::unique_
  • 【响应式驾考培训网站模板】H5自适应源码下载|含教学管理系统+在线预约功能|多终端适配|可商用授权
  • Spring的BeanFactory和FactoryBean有 什么不同
  • 电动汽车电池监测平台系统设计(论文+源码+图纸)
  • spring分层解耦(springboot)
  • c/c++蓝桥杯经典编程题100道(22)最短路径问题
  • LeetCode-76.最小覆盖子串
  • 蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
  • 新型基于Go语言的恶意软件利用Telegram作为C2通信渠道
  • 深入解析DeepSeek推理模型:混合专家架构与稀疏注意力机制的融合
  • qt QOpenGLTexture详解
  • AI: Unsloth + Llama 3 微调实践,基于Colab
  • 格瑞普推出革命性半固态电池,为行业无人机续航注入未来动力
  • 瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库
  • VMamba论文精读笔记
  • Linux shell测试命令执行成功率
  • 线性模型 - Logistic 回归
  • 创建一个 JdbcService,并通过 Spring Boot 直接运行 SQL
  • ocr智能票据识别系统|自动化票据识别集成方案
  • 国密算法SM1、SM2、SM3和SM4 具体的使用和区别