Domino多Web站点托管

大家好,才是真的好。

看到一篇文档,大概讲述的是他在家里架了一台Domino服务器,上面跑了好几个Internet的Web网站(使用Internet站点)。再租了一台云服务器,上面安装Nginx做了反向代理,代理访问家里的Domino Web站点。

真是个大聪明!

要是我没理解错的话,拓扑图应该如下图所示:

嗯,是的,Domino上也可以运行多个Internet站点,托管Web网站。

你是不是想到了一个好主意,可以自己做托管服务器,帮别人托管Internet站点?

不过如果放到家里的话------首先,得家里有固定的公网IP,人家有,我们基本上没有(当然你也可以使用FRP之类的网络代理来解决,但也容易被云服务商警告和封锁);其次,我们还得备案,人家不需要;最后,我们家里宽带一般不给开常用的Web端口,对不对?人家给开。

好吧,其实虽然有难度,但也能办到。

但今天我们的重点不在于Web站点架设在哪里,而是如果启用了https访问后,在早期版本的Domino中会出现一些问题。

如果你启用的是http明文通讯协议,那没有任何问题,如下图:

但一旦为了安全和兼容以及责任心,而启用https,那么问题就来了,用户可能只能访问到默认的站点,例如www.example1.com,如下图:

为啥呢?

因为HTTP 在请求头中使用 Host 字段来指定要访问的域名,所以可以根据域名来访问对应的Web站点主机。

而HTTPS采用安全TLS协议方式访问数据,而TLS 握手信息中并没有携带客户端要访问的目标地址,如果有多个Web站点主机,它不知道该访问哪个Web站点,于是只有访问默认的Web站点。

于是,HTTPS中就有了HTTP协议一样的解决方案,可以在TLS握手信息中加Host目标主机支持(在ClientHello报文中添加),这个在TLS 1.2版本中才支持,而且需要Web服务器也支持。这一特性,我们就称之为SNI(Server Name Indication)。

在Domino 11.0.x或以上版本中支持SNI。要启用Domino SNI的支持,只需要在notes.ini加入语句:

ENABLE_SNI=1

是不是异常简单?

不过假如你还要Nginx做前端反向代理,那么还需要做一下Nginx配置,语句如下:

proxy_ssl_name $host;

proxy_ssl_server_name on;

更多文章可关注微信公号:协作者

相关推荐
_半夏曲3 小时前
node.js、nginx、iis、tomcat针对部署方面的简述
nginx·node.js·tomcat
墨鸦_Cormorant1 天前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
一只爱撸猫的程序猿1 天前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
DC_BLOG1 天前
Linux-Nginx虚拟主机
linux·运维·nginx
Stara05111 天前
Git推送+拉去+uwsgi+Nginx服务器部署项目
git·python·mysql·nginx·gitee·github·uwsgi
oushaojun21 天前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp
ladymorgana1 天前
【Nginx从入门到精通】05-安装部署-虚拟机不能上网简单排错
网络·nginx·智能路由器
苹果醋32 天前
Redis | 第3章 对象《Redis设计与实现》
java·运维·spring boot·mysql·nginx
yangshuo12812 天前
Docker-Compose 快速部署安装 Nginx 或其他应用
运维·nginx·docker
.Ayang2 天前
【vulhub】nginx解析漏洞(nginx_parsing_vulnerability)
计算机网络·nginx·安全·web安全·网络安全·系统安全·网络攻击模型