一个ip, 两个域名, 两个ssl, 访问多个不同的项目

简介: 在前面一篇中说过, 入了好几个坑. 后来使用了nginx+tomcat配置的方式. 终于成功了. 因为头一次使用nginx, 不知道具体怎么操作, 于是我在操作的时候, 按照以下几个步骤执行的:

在前面一篇中说过, 入了好几个坑. 后来使用了nginx+tomcat配置的方式. 终于成功了. 因为头一次使用nginx, 不知道具体怎么操作, 于是我在操作的时候, 按照以下几个步骤执行的:

 

导航


第一步. tomcat启动, 可以访问tomcat启动页. 通过ip地址+端口号在浏览器访问, 看是否能够访问到启动页.


第二步: 在nginx.conf配置第一个域名, 比如说是www.aaa.com, 让域名映射到tomcat端口里, 然后在浏览器访问这个域名, 看是否能够看到tomcat启动页.


第三步: 在nginx.conf中配置第二个域名, 比如说www.bbb.com, 因为第一个域名成功访问了, 第二个域名就很简单了, copy patse就可以了.


第四步: 结果是两个域名都能跳转到tomcat启动页, 使用ip地址+端口号访问也可以跳转到启动页.


这之前tomcat没有做任何的修改, 就是原tomcat包, 解压, 启动.


第五步: 配置每个域名对应一个tomcat项目. 配置的时候也是一个一个配置, 保证一个成功了, 再配另一个.


详细步骤:


第一步: 解压tomcat, 修改配置文件server.xml, 将8080端口改为默认端口80. 这样通过域名访问的时候不用输入端口号. 改完直接启动.


修改server.xml端口


微信图片_20220509092749.png


通过ip访问, 能够进入到tomcat启动页

 

第二步: 配置nginx. 这里有包含好几步, 如下:


参考文章: https://www.cnblogs.com/beyang/p/7718463.html

 

1. 首先购买https,获取到CA证书,两个域名就得到两套证书

 

2. 现在就是Nginx和OpenSSL的安装与配置(这里注意,一般情况下一个IP只支持一个SSL证书,那么我们现在要在一个IP上实现多个SSL证书,就必须让Nginx支持TLS SNI,由于默认的OpenSSL是没有打开TLS SNI的)


  1)Nginx支持多域名SSL证书是需要OpenSSL库支持的,CentOS5.X的OpenSSL库本身不支持这种特性,需要重新下载编译,步骤如下:


    wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8zh.tar.gz

    tar zxvf ./openssl-0.9.8zh.tar.gz


  2)下载Nginx,进行配置


    wget http://nginx.org/download/nginx-1.8.0.tar.gz


     tar zxf nginx-1.8.0.tar.gz


    cd nginx-1.8.0


    ./configure --prefix=/usr/local/nginx1.8.0 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=../openssl-0.9.8zh


    (此处会报错:出现pcre库没找到或zlib没找到,


    在CentOS下可以使用      yum -y install pcre-devel zlib-devel   进行安装缺失的组件)


    make && make install


  3)检查Nginx状态


    /usr/local/nginx1.8.0/sbin/nginx -V


    得到如下结果就说明配置好了:


    nginx version: nginx/1.8.0


    built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)


    built with OpenSSL 0.9.8zh 3 Dec 2015


    TLS SNI support enabled      #可以看到TLS SNI support打开了


    configure arguments: --prefix=/usr/local/nginx1.8.0 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=../openssl-0.9.8zh


  4. 配置Nginx 应用服务器(这一步和参考文章不完全一样)


    安装nginx以后, nginx会安装在/usr/local/nginx-1.8.0下.  

 

    证书放置到 Nginx/conf/cert  目录下


    (这里有一个坑: 西部数据上说, 配置nginx的时候要复制crt的全部内容,放在cer头部, 但是我这样做了, 确提示说密码错误. 直接将cer放作为秘钥文件, 不报错)


微信图片_20220509092844.png


nginx.conf文件如下


微信图片_20220509092902.png启动Nginx:报错-


    nginx: [emerg] getpwnam(“www”) failed错误


    错误的原因是没有创建www这个用户,应该在服务器系统中添加www用户组和用户www,如下命令:


    #/usr/sbin/groupadd -f www


    #/usr/sbin/useradd -g www www

 

    然后通过域名访问, 看是否能跳转到localhost:80里去. OK, 在配置下一个域名.


第三步: 配置第二个域名, 配置方法和前一个一模一样, 在nginx.xml中复制一份server,修改对应的域名即可.  然后访问域名, 看是否能够跳转到localhost:80里去.


    到目前为止, 可以通过ip地址, 两个域名访问到tomcat了.  也就是, 可以2个域名都可以访问到项目了.

 

第四步: 配置tomcat中的host. 我这里还没有配置. 后续补充


微信图片_20220509092922.png


其他配置默认就可以.

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
2月前
|
域名解析 应用服务中间件 Linux
【服务器】使用域名解析服务器的IP地址并配置SSL证书
【服务器】使用域名解析服务器的IP地址并配置SSL证书
406 0
|
3月前
|
JSON 安全 Serverless
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数
在使用阿里云函数计算(FC)服务时,您可以通过自定义域名来访问部署好的云函数【1月更文挑战第23天】【1月更文挑战第112篇】
222 7
|
3天前
|
网络协议 Ubuntu Linux
|
13天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用docker快速搭建wordpress服务,并指定域名访问
通过以上步骤,你可以使用Docker快速搭建WordPress服务,并通过指定的域名进行访问。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
19 1
|
23天前
|
安全 网络安全 数据安全/隐私保护
SSL证书过期后网站还能正常访问吗
SSL证书过期后,网站仍可访问,但浏览器会出现警告,降低用户信任度,增加数据安全风险。过期可能导致安全性下降、信任问题、浏览器限制及合规性风险。管理员需关注证书有效期,及时续费或更换,并选择可靠提供商。
SSL证书过期后网站还能正常访问吗
|
29天前
|
JavaScript 前端开发 应用服务中间件
通过域名的方式访问服务器里的资源
通过域名的方式访问服务器里的资源
20 0
|
2月前
|
域名解析 缓存 网络协议
使用IP地址可以访问应用系统,但通过域名无法访问时
使用IP地址可以访问应用系统,但通过域名无法访问时
56 1
|
2月前
|
域名解析 弹性计算 缓存
DNS问题之无法通过域名访问如何解决
DNS服务器是负责将域名转换为IP地址的服务,它是互联网上实现域名解析的关键基础设施;本合集将探讨DNS服务器的工作原理、配置方法和常见问题处理,帮助用户理解和优化DNS服务的使用。
70 2
|
2月前
|
域名解析 缓存 网络协议
【域名解析】如何将域名指向对应服务器IP
【域名解析】如何将域名指向对应服务器IP
342 1
|
3月前
|
存储 人工智能 算法
函数计算FC部署问题之域名链接链接访问失败如何解决
函数计算FC部署是指在阿里云Function Compute服务上部署函数或应用程序的过程,它提供了一个无需管理服务器即可运行代码的平台;本合集将介绍和总结函数计算FC部署中常见的问题与解决方案,指导用户如何高效部署和管理Serverless函数。