公司搬到外省,域名和项目怎么办?

作者: admin 分类: 环境搭建 发布时间: 2020-04-26 19:07  阅读: 87 views

背景:公司地址搬迁,从一个A省到另一个B省,工商信息已经修改为新的地址。

问题1:

因为官网\服务等使用的域名已经在A省备案了。为浙ICP备xxxx号。但是由于审查规定,将会定期检查备案号的主体信息与公司的工商信息是否一致。如果查出来不一致的话,就需要限期整改了(先注销原备案,在申请变更新的主体信息在B省)。你不改的话,相关域名可能就会无法访问。

问题2:

公司相关的官网、程序、公号类的接口等都是通过域名处理。由于在域名注销备案期间最好不要DNS解析到服务器(阿里云客服如是说,如果在备案期间解析可能会导致审核不通过)。所以,这段期间程序将会无法访问。

以下是个人域名在备案审核期间的工业和信息化部ICP的说明

您好,您的备案信息已合格,已核实域名持有人与主办单位信息一致,“目前管局要求未备案网站禁止访问,经核查您此次备案的网站均无法访问,符合当前管局规则。备案期间请勿打开网站并保持电话畅通,以便我们或管局随时对您提交的备案申请再次进行电话核实”

也就是说备案期间,工信部不允许域名可以访问,否则驳回,企业域名应该也一样。

解决:

  1. 域名是否可以直接迁移(从A省 -> B省)?

我司是从浙江省 迁 福建省。不行,但是网上查阅说有个别省份可以直接迁移。所以还是咨询当前域名商等比较清楚。

  1. 由于国内域名是需要备案的,否则不能访问。那能不能将域名解析到海外服务器,海外的不需要备案也可以访问?

两方面。一是在哪个域名商购买的域名,国内域名商应该都受工信部的管理,所以备案是少不了的。既然备案期间域名不允许访问,那么就算指向海外也一样会出现备案的驳回。如果域名本身是国外域名商如GoDaddy的,就没这个问题了(海外域名可以迁回国内,搞个备案~)。

  1. 备案期间是所有的域名不能访问,还是部分可以?

xxx.com一级域名不能访问,images.xxx.com/ doc.xxx.com/ m.xxx.com等使解析到境外服务器。 这是阿里云域名商的解释,

像使用的第三方服务七牛云配置了images.xxx.com。他们是可以将该二级域名的地址指向境外服务器。所以不需要我们程序调整什么。

处理方案

  • 存在已备案新域名,将所有项目的访问用新域名代替。待原域名备案好之后重新换回来。xx.com主域名备案期间做404,引导用户访问新的域名。(也可以直接使用IP访问,部分用新域名)

涉及程序方面的改动

  1. APP
  2. h5
  3. 三方服务(支付、图片、签章、公号、短信、视频等)
  4. nginx的转发配置

主要是将相关的访问地址由域名改为IP。涉及到多个方面。

1. 配置中心

我们这里用的是disconf。针对多个项目的不同环境可以设置不同版本的配置。还是比较灵活的。如下做不同环境、版本的配置。如果把配置做好动态、静态区分,可以不用重启服务就可以达到效果。

img

2. nginx配置

以下的配置,是针对80端口,xx.xxx.com域名做的转发。不同的url表示请求到不同的服务,可以根据自己的喜好进行配置。

server {
    listen 80;
    server_name xx.xxx.com;

    ssl_session_timeout 5m;

    location /url1/ {
        proxy_pass http://127.0.0.1:9103;
    }
    location /url2/ {
        proxy_pass http://127.0.0.1:9105;
    }
    location /url3/ {
        proxy_pass http://127.0.0.1:9106;
    }
    location /url4/ {
        proxy_pass http://127.0.0.1:9999;
    }
    location /url5/ {
        proxy_pass http://127.0.0.1:9999;
    }
    location /url6/ {
        proxy_pass http://127.0.0.1:9999;
    }
    ...
    ...
}

问题一:根据IP访问项目接口会找不到对应服务

配置如下:nginx.conf中包含了一堆配置

[chl conf]$ pwd
/opt/nginx/nginx-1.12.1/conf

[chl conf]$ cat nginx.conf

....

http {
    ...

    include /opt/nginx/nginx-1.12.1/conf/vhost/*.conf; 

    ...
}

如下:有很多二级域名的配置文件

[chl vhost]$ pwd
/opt/nginx/nginx-1.12.1/conf/vhost

[chl vhost]$ ls
test1.xx.com.conf
test2.xx.com.conf
test3.xx.com.conf
test4.xx.com.conf

每个配置文件中都监听了80端口,如果这样的话通过IP来访问服务器的话,如127.0.0.1:80/url1/xxxx就可能找不到对应的服务。
修改如下默认的80端口配置,就可以正常访问了。

server {
    listen 80 default;
    server_name xx.xxx.com;

问题二:SSL域名证书的处理

公司的证书到期需要替换。(由于安全性的需要,全网都在逐步的由http升级为https。之前的个站https升级

以下是nginx的证书配置:

server {
        listen       443;
        server_name  localhost;
        index index.html index.htm index.php;

        ## 这里是从阿里云下载的证书,然后进行配置
        ssl                  on;
        ssl_certificate      ../cert/3696234_www.deathearth.com.pem;
        ssl_certificate_key  ../cert/3696234_www.deathearth.com.key;

        ssl_session_timeout  5m;

        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
        ssl_prefer_server_ciphers   on;
}

免费版证书

保护一个域名或者一个子域名,例如 domain.com、ssl.domain.com、ssl.ssl.domain.com 分别需要买3张单域名证书。
备注:购买domain.com单域名证书,不会包含 ssl.domain.com 等子域名,如果需要支持所有二级或三级域名(*.domain.com),请购买通配符证书。

通配符证书(20200417日时为 1700元/年)

保护一个主要域名和无限个同一级的子域名:
例如:申请*.domain.com,证书将保护domain.com和它的全部同一级子域名(如a.domain.com,b.domain.com…)
*.domain.com、*.ssl.domain.com 均为泛域名。

应该很多公司都会使用通配符的证书,防止在替换时造成遗漏或者其他问题。有效期是一年,如果到期后没有替换,会导致https请求无法正常请求。发生类似如下错误(下面这个问题是PHP后台请求java导致)

域名证书问题

整体处理流程

  1. 前期调研,做方案并确定,时间由阿里云域名商的限期倒推。
  2. 证书更新,新域名同步搞起。
  3. android/ios/h5做新版本,动态获取是解析ip还是域名。
  4. 后端做动态配置化处理(将所有域名相关在配置中心设置)。
  5. 内部管理台的处理(由于是二级域名,可以挂境外)。
  6. 测试环境测试。
  7. 正式环境切IP配置进行测试(保证所有线上业务正常运行)。
  8. 正式环境测试新版APP等。
  9. 主域名/官网做404页面友好提示(经询问阿里云客服, 注销->新增备案期间不允许解析服务器,所以这个无法处理)。
  10. 做它。

===

公司的服务器情况

截止20200417日共47台服务器。部分做内部服务,部分做外部服务,区分开发\测试\预发布\正式环境。

有zookeeper、disconf、elk、solr、gitlab、logs处理(python或其他)、wiki、jenkins、redis、数据库等基础应用,其他都是业务服务。

业务服务做多节点阿里云负载均衡等处理,根据业务量做伸缩。


   原创文章,转载请标明本文链接: 公司搬到外省,域名和项目怎么办?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读