• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
宇之翼
Astrowings
博客园    首页    新随笔    联系   管理     

这辈子只能碰到一次! 记一次SSL无故被撤消!

SSL证书刚更新一切都那么正常, 突然有一天网站不能访问了, Chrome浏览器提示有风险, 没有继续访问链接,没有,没有, 重要的事情说三遍, 于是乎赶紧加班查原因, 发展浏览器报的错误是证书撤消(不敢相信,难不成....), 赶紧试所有的有浏览器试了个遍都一样又去手工验证, 天哪是真的, 只能打CA提供商客服了. 原来是CA那边出bug了, 具体什么bug就是好多ssl证书没验证域名所有权就发证书了, 无语....

  • 解决方法, 重新认证域名控制权, 具体就是在主域下上传一个html文件, 内面写入他们提供的唯一id, 将html页面做到指定的url上本地就配置好了, 然后登录其网站点击去验证,应该就OK了
  • 验证完毕就可以下载证书文件了, 跟根服务器类型选择下载(我的是nginx选择其它类型), 包里面有两个文件一个貌似随机字符串就是我们需要的证书, 另外一个是根证书证书链文件, 将两个文件合并
    cat 53f58e3ac2172cd5.crt gd_bundle-g2-g1.crt > domain.crt将这个文件和服务器上的server.key设置到nginx.conf中就完成了, 过程倒是不复杂,关键是太吓人...谁能想到这玩意儿会被撤消...

下面附上提交申请到配置nginx的详细笔记:

申请SSL并配置nginx,整体流程是:

1. 生成密钥,生成时必须得输入密码, 生成后再删除密码
2. 生成csr文件, 输入国家, 省, 市, 公司名, 部门(可不输), 邮箱, 最后是密码(直接回车不输入)
3. 拷贝csr文件内容到godaddy网站csr内并提交申请
4. 批准后选择服务器类型下载证书(nginx服务器选择其它类型)
5. 将证书上传到服务器(我传到/etc/ssl/文件夹内)
6. 将key文件邮件密码备用
7. 将两个crt证书文件合并(随机字符串名的文件在并面)
8. 编辑nginx服务器配置文件
9. 重起nginx服务器
  • 准备工作:

    ubuntu@xxxxxx:~$ pwd
    /home/ubuntu
    ubuntu@xxxxxxx:~$ openssl genrsa -des3 -out server.key 2048      # 命令!产生一个最少2048的密钥
    Generating RSA private key, 2048 bit long modulus
    ...+++
    ...+++
    e is 65537 (0x10001)
    Enter pass phrase for server.key:			# 输入密码
    Verifying - Enter pass phrase for server.key:		# 再次输入
    
    ubuntu@xxxxxx:~$ openssl req -new -key server.key -out server.csr       # 使用这个key生成申请文件
    Enter pass phrase for server.key:										    # 输入密钥的密码
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:CN    		# 国家(两位字母)
    State or Province Name (full name) [Some-State]:Beijing   # 省份
    Locality Name (eg, city) []:Beijing					# 城市
    Organization Name (eg, company) [Internet Widgits Pty Ltd]: Astrowings for zhangyu			# 公司名
    Organizational Unit Name (eg, section) []:		# 部门(可不写)
    Common Name (e.g. server FQDN or YOUR name) []:homeba.com.cn  	# 域名, (也可*.homeba.com.cn泛域名)
    Email Address []:zyu911@126.com    			# 公司对外邮箱
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:		    # 直接回车
    An optional company name []:		# 直接回车完成
    ubuntu@xxxxxxx:~$ 
    
    # 执行以下命令去除密钥文件的密码(很重要否则nginx会出问题, 每次重起都要输入密码)
    openssl rsa -in server.key -out server_nopass.key    
    
  • 申请并下载

    # 查看生成的xxxx.csr文件并将内容拷贝到网页上面的csr去申请证书
    [root@xxxxxxx ~]# cat xxxx.csr 
    -----BEGIN CERTIFICATE REQUEST-----
    MIICwzCCAasCAQAwfjELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAO
    BgNVBAcMB0JlaWxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWMBQGA1UEAwwNaG9tZWJh
    LmNvbS5jbjEiMCAGCSqGSIb3DQEJARYTYWRtaW5AaG9tZWJhLmNvbS5jbjCCASIw
    DQYJKoZIhvcNAQExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxEI5RuO+Wa1uEYujZLoO
    88dVU99va7wBFP/iPXKOlegBUoSulAsB2Rc8xJaybPzpB3z26ZFjkzt4cuccFgoB
    IZx6f/5phv4QXI7f+yTvnWD7u6eypAkN6tURF3RxiIayTg5e6lfXQOGOsuD1hgve
    YDUoEw0bZzHFRYvtQ5b1vUnaLuKCDxy+jyo/dLsf5/8JyUxuJyEHWZg2fd/WdtQ6
    Rt91wcTLlKdV1ToT4cu1PInqJZY5H+4R7u1nu8nmOekCed6uXmHqFrEPIaNetgvL
    n/UvNJzeCN7/s1taAE/xxxxxxxxxxxxxxxxxxxxxxxxxxxhv64CIy/gKFR0CAwEA
    AaAAMA0GCSqGSIb3DQEBBQUAA4IBAQDksoRnUd5Jit5OiStYDRkvbtpZ+z68zAaT
    thp7lGjw8Ranl5e36qKjraP1EKYH55Pov1jl0zhL+vruCfSfb1CEKzwkZy54NbRj
    OHwF/Mqeyu2Lg8xU/VNzkxxxxxxxxxxxxxxxxxxxx7xt33puCCJKI9JGGyX1DQBi
    i8dkTkwEUmG643mHmt1oUKxaSH8Zi9aW946sG39v1iH2dCl2LQ9H4jyGAG/mV0rw
    gIVOApRrJH3BTBcY8WExxxxxxxxxxxxxxxxxxxxxxxxcFAXoEwjI7QODRD45iNZD
    Fr5IYhaUSOVrXxNk/03jIwafsBupR2Ur6RKf/9x01xoAnjuLTy4e
    -----END CERTIFICATE REQUEST-----
    
    # 证书批准后从godaddy下载证书文件 如果是nginx服务器选择其它种类并下载.zip文件.解压后是两个文件:
    	53f58e3ac2172cd5.crt   # 域名证书
    	gd_bundle-g2-g1.crt    # 根证书
    
    
    # 而后使用如下命令合并证书
    cat 53f58e3ac2172cd5.crt gd_bundle-g2-g1.crt > domain.crt
    
  • 配置nginx

    server {
    	listen	443 ssl;
    	server_name	xxoo.com.cn www.xxoo.com.cn;
    
    	ssl on;
    	ssl_certificate	/etc/ssl/domain.crt;    # 全并后的证书!
    	ssl_certificate_key /etc/ssl/server_nopass.key;   # 去除密码的key私钥文件
    
    	location / {
    		proxy_pass http://unix:/tmp/ooxx.sock;
    		proxy_set_header Host $host;
    		proxy_set_header X-Real-Ip $remote_addr;
    		proxy_set_header X-Forwarded-Proto $scheme;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		# uwsgi_pass	xxxoo;		# 以后要用uwsgi
    		# include uwsgi_params;
    	}
    
    	location /static {
    		root /var/www/ooxx;
    	}
    	location /Robots.txt {
    		root /var/www/ooxx;
    	}
    }
    
    server {
    	listen	80;
    	server_name	xxoo.com.cn www.xxoo.com.cn;
    	# rewrite		^(.*)$ http://xxoo.com.cn$1;
    	rewrite ^(.*)$ https://$host$1 permanent;
    }
    
posted @ 2017-04-06 22:27  宇之翼  阅读(1426)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3