关于服务器配置反代隐藏端口中遇到的问题
关于服务器配置反代隐藏端口中遇到的问题
浮川的小窝

关于服务器配置反代隐藏端口中遇到的问题

面壁人浮川
2023-12-01 / 0 评论 / 35 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年12月04日,已超过164天没有更新,若内容或图片失效,请留言反馈。

fe9f31dbd83e49b16ecb66b13361bd8e.jpg


最近双十一,本人一直在关注着便宜的vps想捡个漏 表情 没成想还真让我找到了
这里不是广告啊 人家也没给我推荐费 是我同事推荐给我的 我是用了这是第三天了 感觉还不错 挺稳定的 咱不追求时延啊 上传下载峰值是不是稳定啊 cpu性能是不是虚标啊(还没到那一步) 就是想把群晖这个该死的带端口访问这个难为了强迫症患者的我3年的心头之痛给解决掉
于是乎 图省事直接装的宝塔 一顿nginx配置 算是把各个项目能访问到了 表情 表情 表情
这仅仅是第一步 我就感觉没这么轻松就解决掉的 今天我又挨个服务去测试了一下 果然 新的风暴又出现了(我他妈真想停滞不前 表情 ) webstation起的项目

比方说 typecho 首当其冲

网站是可以访问的 资源加载都好注意要修改这里的配置
20231201164453.jpg

20231201164425.jpg

接下来是 chevereto V4

这个小浪蹄子 (我特么真实无福消受啊 表情 表情)
这个是不完全解决方案 能力有限 可能要涉及改php代码 但是我是真看不懂chevereto代码 太沉了 不说了说多了都是泪
说一下我的方法
去到chevereto V4的根目录 找到
20231201174357.jpg
这个文件
放开图中所示的三行代码
20231201174430.jpg

20231201174933.jpg

20231201175322.jpg

接下来是群晖的 Synology Photos

相应的note file video 设置了别名的门户d都可以这么设置
这个牵扯到反代服务器的nginx设置 我一并贴出来

 # http(80) -> https(443/ssl)
server {
    listen 80;
    server_name *.snowlove.top;
    rewrite ^(.*)$ https://$host$request_uri;
}
# 单独配置图床服务器
server{
    listen 443 ssl;
    server_name image.snowlove.top;
    gzip_static on;
    ssl_certificate #填写你的ssl cer;
    ssl_certificate_key #填写你的ssl key;
    # 配置websocket
    proxy_connect_timeout 4s;                
    proxy_read_timeout 60s; 
    #如果没效,可以考虑这个时间配置长一点
    proxy_send_timeout 12s;                
    #升级http1.1到 websocket协议
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection  $connection_upgrade;
    
    location / {
        proxy_pass #chevereto地址;
    }

server{
    listen 443 ssl;
    server_name *.snowlove.top;
    gzip_static on;
    ssl_certificate #填写你的ssl cer;
    ssl_certificate_key #填写你的ssl key;
    # 配置websocket
    proxy_connect_timeout 4s;                
    proxy_read_timeout 60s; 
    #如果没效,可以考虑这个时间配置长一点
    proxy_send_timeout 12s;                
    #升级http1.1到 websocket协议
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection  $connection_upgrade;
    
    #以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
    proxy_set_header Host            $host;
    proxy_set_header X-Real-IP       $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    
    #正则表达式 配置二级域名反代
    if ($http_host ~* "^(.*?)\.snowlove\.top$") {    
      set $domain $1; #设置变量
    }
    location / {
      # photo
      if ($domain ~* "photo") {
        # 此处进行重写地址
        rewrite ^/(.*)$ /photo/$1 break;
        proxy_pass #群晖地址:5001;
      }
      # ... more
      proxy_pass #群晖地址:404;
    }
  }

今天忙忙活活一天就弄了这几个破问题 属实是脑袋瓜子嗡嗡的
剩下的应用明天继续测试 可能还会遇到更新的风暴 表情 表情 表情
想想就觉着难受= =
之后的测试会陆续补上
今天就到这叭 下班回家!!!


续:
2023-12-03 19:52:53 星期日
我又来了同志们 表情 表情 表情

继周五脑瓜子嗡嗡了一天 周天我的脑袋强烈要求我不要停 加大力度! 表情 表情 表情

接下来是 codepen

这次的项目是github上找到的一个还是比较实用的运行片段代码的项目 通过简单的访问就发现了一个问题 里面的js css网络通但是返回内容都是index.html内容

对于我这个nginx新手 我的理解很简单 proxy_pass https://服务器域名; 配置了转发了就完事了 但是好像情况并不如此
盲目没有目的的瘦了一圈无果 我就又看了看js的返回内容 想到了 是不是在群晖docker中起的nginx配置有问题

没错 没用webstation起 直接down的项目build了一下 放在了一个nginx中 打算的是把这种编译后的项目统一用一个nginx管理起来
 location /codepen/ {
      add_header Access-Control-Allow-Origin *;
      autoindex on;
      root /etc/nginx/html; # 前端代码dist文件所在磁盘目录位置
      index  index.html index.htm;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      # index index.html index.html; # dist文件夹中的入口文件index.html
      try_files $uri $uri/ /codepen/index.html;
  }

于是我尝尝试添加了一条

  location ~* ^/codepen/(.*)$ {
      proxy_pass https://群晖地址:xxxx/codepen/$1;
      break;
  }

问题解决 表情

0

评论 (0)

取消