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;
}
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论