网络DNS配置
场景说明:
应用1, 应用2 , 通过nginx做代理转发,通过cloudflare 开启dns代理。
最终实现:
- 在nginx 上配置域名转发。
- 用户访问的时候, 能自动签发所有的证书
- 对公网IP 进行隐藏。
操作步骤:
- 生成15年的ssl证书。 用于在nginx 和 cloudflare dns 通信采用的https。
- 把第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;
}
在cloudflare 配置A记录,同时开启代理。
最终获得的证书: