|
问题:通过tailscale+Oracle云服务+PodDNS,组件的局域网环境,本地访问对应网站,往往比较慢。
问题原因:tailscale的中心服务器在国外、oracle云服务器在国外,PodDNS解析域名到oracle云服务器,oracle服务器nginx代理在转发到tailscale内部局域样中的网站服务,这个过程都比较消耗网络资源,通过减少中间路由环节,可以减少网络耗时。
解决方案:
1.本地修改hosts文件,将网站域名映射到本机;
2.本机与网站服务通过tailscale组网在同一局域网;
3.本机通过nginx代理域名转发到局域网中对应ip和端口。
修改hosts的原因:本机电脑通过浏览器域名访问的时候,首先是访问本机hosts的映射域名,如果没有配置,在访问dns服务器解析的域名。
本机启用nginx做代理的原因:因为hosts不能直接映射端口,只能做ip映射,nginx可以代理端口。
实践:
mac hosts路径:
- sudo vi /private/etc/hosts
复制代码 直接保存就可以用
nginx 代理
- server {
- listen 80;
- server_name bbs.z3a105.com;
- location / {
- client_max_body_size 999m;
- add_header X-Frame-Options "SAMEORIGIN" always;
- add_header X-XSS-Protection "1; mode=block" always;
- add_header X-Content-Type-Options "nosniff" always;
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://new-mini:8093/;
- index index.html index.php index.htm;
- }
- }
复制代码- brew services restart nginx
复制代码 重启nginx 即刻生效
|
|