跳到主要内容

网络DNS配置

场景说明:

应用1, 应用2 , 通过nginx做代理转发,通过cloudflare 开启dns代理。

最终实现:

  1. 在nginx 上配置域名转发。
  2. 用户访问的时候, 能自动签发所有的证书
  3. 对公网IP 进行隐藏。

操作步骤:

  1. 生成15年的ssl证书。 用于在nginx 和 cloudflare dns 通信采用的https。

  1. 把第1步骤获取的证书的pem,key 拷贝, 放入到nginx机器上, 并做如下的配置。
server {
listen 443 ssl;
server_name 3.xxx.cc;

access_log /srv/logs/nginx/2.xxx.cc.log;
error_log /srv/logs/nginx/2.xxx.cc.error.log error;

ssl_certificate /etc/nginx/ssl/3.xxx.cc.pem; # 指定SSL证书路径
ssl_certificate_key /etc/nginx/ssl/3.xxx.cc.key; # 指定SSL私钥路径

location / {
# 因为docker内部,所以不能访问宿主机的127.0.0.1
# proxy_pass http://127.0.0.1:5000/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.4.5.2:3002;
}

  1. 在cloudflare 配置A记录,同时开启代理。

最终获得的证书: