k8s的域名访问
<p>https://www.bilibili.com/video/av66617940?p=36</p><p>一、域名访问设置</p>
<p>1)获取ingress的pod。添加的路由规则都记录在里面</p>
<div class="cnblogs_code">
<pre>kubectl apply -f https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml</span>
# kubectl <span style="color: rgba(0, 0, 255, 1)">get</span> pod -n ingress-<span style="color: rgba(0, 0, 0, 1)">nginx
NAME READY STATUS RESTARTS AGE
nginx</span>-ingress-controller-5694ccb578-78ldg <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span> Running <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)"> 23d
# kubectl exec nginx-ingress-controller-5694ccb578-78ldg -n ingress-nginx -it /bin/<span style="color: rgba(0, 0, 0, 1)">bash
www</span>-data@nginx-ingress-controller-5694ccb578-78ldg:/etc/<span style="color: rgba(0, 0, 0, 1)">nginx$ ls nginx.conf
nginx.conf</span></pre>
</div>
<p> 2)获取访问nginx的代理端口</p>
<div class="cnblogs_code">
<pre>kubectl apply -f https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml</span>
# kubectl <span style="color: rgba(0, 0, 255, 1)">get</span> svc -n ingress-<span style="color: rgba(0, 0, 0, 1)">nginx
NAME TYPE CLUSTER</span>-IP EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP PORT(S) AGE
ingress</span>-nginx NodePort <span style="color: rgba(128, 0, 128, 1)">10.97</span>.<span style="color: rgba(128, 0, 128, 1)">138.34</span> <none> <span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">32116</span>/TCP,<span style="color: rgba(128, 0, 128, 1)">443</span>:<span style="color: rgba(128, 0, 128, 1)">30338</span>/TCP 12s</pre>
</div>
<p>默认的执行的配置文件,协议端口随机变化</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
---</span></pre>
</div>
<p> </p>
<p>如果后面生成的域名访问方法</p>
<div class="cnblogs_code">
<pre>curl www1.test.com:<span style="color: rgba(128, 0, 128, 1)">32116</span><span style="color: rgba(0, 0, 0, 1)">
curl www2.test.com:</span><span style="color: rgba(128, 0, 128, 1)">32116</span><span style="color: rgba(0, 0, 0, 1)"><br></span></pre>
</div>
<p>二、域名访问具体示例</p>
<p>1)例如设置访问域名 www1.test.com</p>
<p>1.1)创建pod和service</p>
<div class="cnblogs_code"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_7df0d5bc-0f4d-47b7-a4e6-9de49d1e98c9" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_7df0d5bc-0f4d-47b7-a4e6-9de49d1e98c9" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment1
spec:
replicas: 2
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: wangyanglinux/myapp:v1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: svc-1
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
name: nginx</span></pre>
</div>
<span class="cnblogs_code_collapse">pod_service1.yaml</span></div>
<p>1.2)设置访问的域名</p>
<div class="cnblogs_code"><img id="code_img_closed_c2ccf19f-164f-4068-8b0b-a03ef7546691" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_c2ccf19f-164f-4068-8b0b-a03ef7546691" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_c2ccf19f-164f-4068-8b0b-a03ef7546691" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress1
spec:
rules:
- host: www1.test.com
http:
paths:
- path: /
backend:
serviceName: svc-1
servicePort: 80</span></pre>
</div>
<span class="cnblogs_code_collapse">ingress1.yaml</span></div>
<p>访问</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># curl www1.test.com:32116
Hello MyApp | Version: v1 | </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">a </span><span style="color: rgba(255, 0, 0, 1)">href</span><span style="color: rgba(0, 0, 255, 1)">="hostname.html"</span><span style="color: rgba(0, 0, 255, 1)">></span>Pod Name<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">a</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p>2)设置访问域名 www2.test.com</p>
<p>2.1)创建pod和service</p>
<div class="cnblogs_code"><img id="code_img_closed_e6d5bdb9-7c92-4e98-ab61-43c9b7c9bccc" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_e6d5bdb9-7c92-4e98-ab61-43c9b7c9bccc" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_e6d5bdb9-7c92-4e98-ab61-43c9b7c9bccc" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment2
spec:
replicas: 2
template:
metadata:
labels:
name: nginx2
spec:
containers:
- name: nginx2
image: wangyanglinux/myapp:v2
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: svc-2
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
name: nginx2</span></pre>
</div>
<span class="cnblogs_code_collapse">pod_service2.yaml</span></div>
<p>2.2)设置访问的域名</p>
<div class="cnblogs_code"><img id="code_img_closed_9b7cc73b-5673-4c21-a459-86b7e43173ce" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_9b7cc73b-5673-4c21-a459-86b7e43173ce" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_9b7cc73b-5673-4c21-a459-86b7e43173ce" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress2
spec:
rules:
- host: www2.test.com
http:
paths:
- path: /
backend:
serviceName: svc-2
servicePort: 80</span></pre>
</div>
<span class="cnblogs_code_collapse">ingress2.yaml</span></div>
<p>2.3)查看 ingress</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
ingress1 www1.test.com 80 19m
ingress2 www2.test.com 80 19m</span></pre>
</div>
<p>访问</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># curl www1.test.com:32116
Hello MyApp | Version: v1 | </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">a </span><span style="color: rgba(255, 0, 0, 1)">href</span><span style="color: rgba(0, 0, 255, 1)">="hostname.html"</span><span style="color: rgba(0, 0, 255, 1)">></span>Pod Name<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">a</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="color: rgba(0, 0, 0, 1)">
# curl www2.test.com:32116
Hello MyApp | Version: v2 | </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">a </span><span style="color: rgba(255, 0, 0, 1)">href</span><span style="color: rgba(0, 0, 255, 1)">="hostname.html"</span><span style="color: rgba(0, 0, 255, 1)">></span>Pod Name<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">a</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p> 三、使用加密的方式 https://www3.test.com进行访问</p>
<p>1)创建证书 tls-secret </p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=nginxsvc/0=nginxsvc"
kubectl create secret tls tls-secret --key tls.key --cert tls.crt</span></pre>
</div>
<p>2)创建pod和service</p>
<div class="cnblogs_code"><img id="code_img_closed_fbdd88da-0cd8-4e10-a963-57aeeb369581" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_fbdd88da-0cd8-4e10-a963-57aeeb369581" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_fbdd88da-0cd8-4e10-a963-57aeeb369581" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: deployment3
spec:
replicas: 2
template:
metadata:
labels:
name: nginx3
spec:
containers:
- name: nginx3
image: wangyanglinux/myapp:v3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: svc-3
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
name: nginx3</span></pre>
</div>
<span class="cnblogs_code_collapse">pod_service3.yaml</span></div>
<p>3)设置的访问的域名,加载证书的方式</p>
<div class="cnblogs_code"><img id="code_img_closed_4d5252ef-80a6-4c6a-89ba-5e7a91aea376" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_4d5252ef-80a6-4c6a-89ba-5e7a91aea376" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_4d5252ef-80a6-4c6a-89ba-5e7a91aea376" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress3
spec:
tls:
- hosts:
- www3.test.com
secretName: tls-secret
rules:
- host: www3.test.com
http:
paths:
- path: /
backend:
serviceName: svc-3
servicePort: 80</span></pre>
</div>
<span class="cnblogs_code_collapse">ingress3.yaml</span></div>
<p>此时访问 已经 不是 http 服务了,需使用 443 端口 对应的端口</p>
<p>4)访问服务</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.97.138.34 </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(0, 0, 255, 1)">></span> 80:32116/TCP,443:30338/TCP 142m</pre>
</div>
<p> https://www3.test.com:30338 </p>
<p> 四、访问认证</p>
<p>1) 设置 访问的认证 用户名 和密码</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># yum install httpd -y
# mkdir -p basic-auth
# htpasswd -c auth foo
New password:
Re-type new password:
Adding password for user foo
# ll
total 4
-rw-r--r-- 1 root root 42 Nov 11 01:34 auth</span></pre>
</div>
<p>2)创建 secret 引入 认证方式</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># kubectl create secret generic basic-auth --from-file=auth
secret/basic-auth created</span></pre>
</div>
<p>3)添加 域名 引入 auth 认证</p>
<div class="cnblogs_code"><img id="code_img_closed_6de14472-4d1e-41a8-9e72-4997b4882a18" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_6de14472-4d1e-41a8-9e72-4997b4882a18" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_6de14472-4d1e-41a8-9e72-4997b4882a18" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress4
annotations:
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: basic-auth
nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - foo'
spec:
rules:
- host: auth.test.com
http:
paths:
- path: /
backend:
serviceName: svc-2
servicePort: 80</span></pre>
</div>
<span class="cnblogs_code_collapse">auth_ingress.yaml</span></div>
<p>此时 访问 网站内容 ,需输入 用户名,密码</p>
<p><img alt="" data-src="https://img2018.cnblogs.com/blog/1209248/201911/1209248-20191111014417527-693936760.png"></p>
<p> </p>
<p> 用户名:foo</p>
<p>密码:xxxxxxx</p>
<p> 五、地址跳转</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: https://www3.test.com:30338
spec:
rules:
- host: re.test.com
http:
paths:
- path: /
backend:
serviceName: svc-2
servicePort: 80</span></pre>
</div>
<p>访问 re.test.com:32116 跳转到 https://www3.test.com:30338</p>
<p>六、问题。代理的访问端口存在不确定性</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.97.138.34 </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="color: rgba(0, 0, 0, 1)"> 80:32116/TCP,443:30338/TCP 3h7m
# kubectl delete -f service-nodeport.yaml
service "ingress-nginx" deleted
# kubectl apply -f service-nodeport.yaml
service/ingress-nginx created
# kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.106.225.226 </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(0, 0, 255, 1)">></span> 80:31813/TCP,443:32425/TCP 1s</pre>
</div>
<p>重启了 service-nodeport.yaml 服务, 访问 的端口 将发生变化。</p>
<p>6.1)修改配置文件,固定端口测试</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
nodePort: 30080
protocol: TCP
- name: https
port: 443
targetPort: 443
nodePort: 30443
protocol: TCP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
---</span></pre>
</div>
<p> 测试</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.107.188.157 </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">none</span><span style="color: rgba(0, 0, 255, 1)">></span> 80:30080/TCP,443:30443/TCP 2s</pre>
</div>
<p> 通用域名</p>
<div class="cnblogs_code"><img id="code_img_closed_7661b3e8-529b-48bd-b71d-a3c5aa99e544" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_7661b3e8-529b-48bd-b71d-a3c5aa99e544" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_7661b3e8-529b-48bd-b71d-a3c5aa99e544" class="cnblogs_code_hide">
<pre># cat apaas.conf
upstream apaas</span>-infra-<span style="color: rgba(0, 0, 0, 1)">http {
serverapaas</span>-master0001.eniot.io:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">;
serverapaas</span>-master0002.eniot.io:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">;
serverapaas</span>-master0003.eniot.io:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">;
check interval</span>=<span style="color: rgba(128, 0, 128, 1)">3000</span> rise=<span style="color: rgba(128, 0, 128, 1)">2</span> fall=<span style="color: rgba(128, 0, 128, 1)">5</span> timeout=<span style="color: rgba(128, 0, 128, 1)">1000</span> default_down=<span style="color: rgba(0, 0, 255, 1)">false</span> type=http port=<span style="color: rgba(128, 0, 128, 1)">1936</span><span style="color: rgba(0, 0, 0, 1)">;
check_http_send </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GET /healthz HTTP/1.0\r\n\r\n</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
check_http_expect_alive http_2xx http_3xx;
}
upstream apaas</span>-infra-<span style="color: rgba(0, 0, 0, 1)">https {
serverapaas</span>-master0001.eniot.io:<span style="color: rgba(128, 0, 128, 1)">443</span><span style="color: rgba(0, 0, 0, 1)">;
serverapaas</span>-master0002.eniot.io:<span style="color: rgba(128, 0, 128, 1)">443</span><span style="color: rgba(0, 0, 0, 1)">;
serverapaas</span>-master0003.eniot.io:<span style="color: rgba(128, 0, 128, 1)">443</span><span style="color: rgba(0, 0, 0, 1)">;
check interval</span>=<span style="color: rgba(128, 0, 128, 1)">3000</span> rise=<span style="color: rgba(128, 0, 128, 1)">2</span> fall=<span style="color: rgba(128, 0, 128, 1)">5</span> timeout=<span style="color: rgba(128, 0, 128, 1)">1000</span> default_down=<span style="color: rgba(0, 0, 255, 1)">false</span> type=http port=<span style="color: rgba(128, 0, 128, 1)">1936</span><span style="color: rgba(0, 0, 0, 1)">;
check_http_send </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">GET /healthz HTTP/1.0\r\n\r\n</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
check_http_expect_alive http_2xx http_3xx;
}
server {
listen </span><span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">;
server_name </span>*.apaas-<span style="color: rgba(0, 0, 0, 1)">gf1.eniot.io;
underscores_in_headers on;
client_max_body_size 100m;
location </span>/<span style="color: rgba(0, 0, 0, 1)"> {
proxy_passhttp:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">apaas-infra-http;</span>
<span style="color: rgba(0, 0, 0, 1)"> proxy_set_header Host $host;
proxy_set_header X</span>-Real-<span style="color: rgba(0, 0, 0, 1)">IP $remote_addr;
proxy_set_header X</span>-Forwarded-<span style="color: rgba(0, 0, 0, 1)">For $proxy_add_x_forwarded_for;
proxy_http_version </span><span style="color: rgba(128, 0, 128, 1)">1.1</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">upgrade</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_connect_timeout </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_send_timeout </span><span style="color: rgba(128, 0, 128, 1)">9000</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_read_timeout </span><span style="color: rgba(128, 0, 128, 1)">9000</span><span style="color: rgba(0, 0, 0, 1)">;
}
}
server {
listen </span><span style="color: rgba(128, 0, 128, 1)">443</span><span style="color: rgba(0, 0, 0, 1)"> ssl;
server_name </span>*.apaas-<span style="color: rgba(0, 0, 0, 1)">gf1.eniot.io;
ssl_certificate </span>/etc/nginx/ssl/<span style="color: rgba(0, 0, 0, 1)">Server_wildcard_eniot_io_20180308.cer;
ssl_certificate_key </span>/etc/nginx/ssl/<span style="color: rgba(0, 0, 0, 1)">Server_wildcard_eniot_io_20180308.key;
underscores_in_headers on;
location </span>/<span style="color: rgba(0, 0, 0, 1)"> {
proxy_set_header X</span>-Forwarded-<span style="color: rgba(0, 0, 0, 1)">For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X</span>-Forwarded-<span style="color: rgba(0, 0, 0, 1)">Proto https;
proxy_set_header X</span>-Real-<span style="color: rgba(0, 0, 0, 1)">IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">upgrade</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_redirect off;
proxy_ssl_verify off;
proxy_ssl_session_reuse on;
proxy_http_version </span><span style="color: rgba(128, 0, 128, 1)">1.1</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_pass https:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">apaas-infra-https;</span>
proxy_connect_timeout <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_send_timeout </span><span style="color: rgba(128, 0, 128, 1)">9000</span><span style="color: rgba(0, 0, 0, 1)">;
proxy_read_timeout </span><span style="color: rgba(128, 0, 128, 1)">9000</span><span style="color: rgba(0, 0, 0, 1)">;
}
}</span></pre>
</div>
<span class="cnblogs_code_collapse">匹配域名</span></div>
<p> *.apaas-ptt1.eniot.io 10.65.54.56 10.65.54.57</p>
<div class="cnblogs_code"><img id="code_img_closed_d65fc69e-8340-49b0-a95e-19d92bb88d45" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_d65fc69e-8340-49b0-a95e-19d92bb88d45" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_d65fc69e-8340-49b0-a95e-19d92bb88d45" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">新增域名 私有云dns指向 其它环境dns指向 其它环境
apaas</span>-ptt1.eniot.io <span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.56</span> <span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.57</span> <span style="color: rgba(128, 0, 128, 1)">10.10</span>.<span style="color: rgba(128, 0, 128, 1)">1.42</span><span style="color: rgba(0, 0, 0, 1)"> AWS中国、办公网
</span>*.apaas-ptt1.eniot.io <span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.56</span> <span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.57</span> <span style="color: rgba(128, 0, 128, 1)">10.10</span>.<span style="color: rgba(128, 0, 128, 1)">1.42</span><span style="color: rgba(0, 0, 0, 1)"> AWS中国、办公网
apaas</span>-<span style="color: rgba(0, 0, 255, 1)">internal</span>.eniot.io <span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.56</span> <span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.57</span><span style="color: rgba(0, 0, 0, 1)">
harbor</span>-cn2.eniot.io <span style="color: rgba(128, 0, 128, 1)">52.80</span>.<span style="color: rgba(128, 0, 128, 1)">242.65</span><span style="color: rgba(0, 0, 0, 1)">
falcon</span>-ptt1.eniot.io <span style="color: rgba(128, 0, 128, 1)">10.10</span>.<span style="color: rgba(128, 0, 128, 1)">1.42</span> <span style="color: rgba(128, 0, 128, 1)">10.10</span>.<span style="color: rgba(128, 0, 128, 1)">1.42</span><span style="color: rgba(0, 0, 0, 1)"> AWS中国、办公网
notice.eniot.io </span><span style="color: rgba(128, 0, 128, 1)">10.10</span>.<span style="color: rgba(128, 0, 128, 1)">1.42</span><span style="color: rgba(0, 0, 0, 1)">
其中:</span><span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.56</span><span style="color: rgba(128, 0, 128, 1)">10.65</span>.<span style="color: rgba(128, 0, 128, 1)">54.57</span> nginx机器</pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<p> </p><br><br>
来源:https://www.cnblogs.com/linu/p/11832560.html
頁:
[1]