我在vps上建了个在线编程的界面,jupyter notebook,是通过主机ip加端口访问的,但ip难记,就想着用域名来访问,但找了几天,试了几种方法,都不成功,今天试了成功了,先把方法记下来,免得将来又忘记了
网上方法有说域名供应商设置,宝塔修改配置文件。复杂,加上自己不懂,怎么设置都不成功。原来只要在宝塔设置反代理就行。
在宝塔主界面新建站点,域名填你想要的前缀,例如宝塔访问是ip:8888,我选个容易记的,bt.**.com,星号就是你的域名,当然,你的域名已经在dns那里解析了,可以正常访问你的主机。其它什么都不用设置,直接点确定。
在建好的网站,右手边选择设置
进到设置里面,左手边选择反向代理,上面选择添加反射代理。
在反向代理里面
代理名随便写,方便自己记住
目标URL,写你要访问的地址或者域名,我写的是宝塔地址跟端口
内容替换,我也是写的宝塔地址跟端口,右手边,写的是你刚才建的网站域名。
保存后,就可以直接输入bt.**.com来访问宝塔了,
也可以写其它的。例如你建个baidu.**.com网站,反向代理写上 www.baidu.com,
这样你访问baidu.**.com ,就会跳转到百度首页。
另外 一个jupyter notebook 也是照着上面的设置了,可以访问主页,但进入编程界面后,就一直显示 在连接服务,连接不成功,又重新连接,后台查了jupyter服务一直在运行,用ip访问也能正常使用。找了资料,原来是jupyter对是否http 连接进行判断 ,造成http访问一直无法使用。在宝塔中对网址的配置文件进行如下配置,把原来的全删除,直接复制如下代码,保存,在网站界面,停止,重启就可以正常 使用编程了
server {
listen 80;
server_name yourDomain;#你建的网站
location / {
proxy_pass http://127.0.0.1:8888;#8888改为jupyter使用的端口
proxy_set_header Referer http://127.0.0.1:8888;#8888改为jupyter使用的端口
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
proxy_redirect off;
}
location ~* /(api/kernels/[^/]+/(channels|iopub|shell|stdin)|terminals/websocket)/? {
proxy_pass http://127.0.0.1:8888;#8888改为jupyter使用的端口
proxy_set_header Referer http://127.0.0.1:8888;#8888改为jupyter使用的端口
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
proxy_redirect off;
}
}
1 条评论
谢了,成功配置网站