Hellojxl - nginx
type: channel
link: https://www.hellojxl.com/index.php/tag/nginx/
items: 迁移哪吒探针
items: 迁移禅道
items: nginx反代cookie丢失问题

迁移哪吒探针
type: item
date: 2022-05-10T00:46:00+00:00
description: 最近virmach支持迁移到其它地区的Ryzen服务器，正好之前买的ip被墙了，由于当时在忙工作，没注意，过了几天才发现是被墙的，也懒得找客服，心想就等着解封吧，结果等了将近半年依然没有解封，看来是永封了，正好现在支持迁移就立马迁移到西雅图了。由于迁移的比较仓促，只备份了哪吒探针的服务端，没有备份相关的nginx配置，所以之后又重新部署了一遍。下面就梳理一下迁移流程：备份服务端下的/opt/nezha文件夹。在新服务器上新安装哪吒服务面板，安装完成之后将之前备份的覆盖到本地的/opt/nezha文件夹下，启动就可以了。配置nginx转发，由于客户端连接的域名通过nginx转发之后无法进行域名证书续签，所以只好走80端口了。具体的nginx配置如下：（1）服务器端转发配置: location / { proxy_pass http://127.0.0.1:8008; proxy_set_header Host $host; } location /ws { proxy_pass http://127.0.0.1:8008; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; } location /terminal { proxy_pass http://127.0.0.1:8008; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; }（2）客户端转发配置: #开启http2 listen 80 http2; #可以把access日志关了，不然太多 access_log off; #重要，不开启是不行的 underscores_in_headers on; location / { grpc_read_timeout 300s; grpc_send_timeout 300s; grpc_pass grpc://127.0.0.1:5555; }好了，基本上部署完毕后就可以看到所有的服务器都在线了。补充：最近登录的时候一直提示 server response missing access_token,网上查说是反代https的问题，可是我这里明明之前是可以的，查找半天无果，后来在github的secret界面发现密钥一直没有使用过，感觉不太对劲，于是重新添加了一个新的并替换了现有配置，重启之后发现问题解决，这才想起来之前迁移的时候可能是误删了新建的secret。具体替换方法是在修改/opt/nezha/dashboard/data下的config.yaml文件。

迁移禅道
type: item
date: 2022-04-10T07:17:14+00:00
description: 最近把公司内网的禅道迁移到外网，由于不想装apache，所以没有采用一键安装的方式，采用了nginx+fastcgi的方式安装，数据还原完成后不知道为何找不到备注了，并且访问地址必须为：地址+zendaopms/www才行，看上去非常别扭，网上查大部分都是通过nginx反向代理apache的地址，或者是直接根目录访问，因为后面还有别的业务要用，所以想配置成/zentao这种访问方式，查了半天，最终在官方的问答里找到了配置方式，nginx采用如下配置：location ~ ^/zentao/.+\.php$ { root /opt/zentao/www; fastcgi_index index.php; fastcgi_pass unix:/run/php/php7.0-fpm.sock; if ( $fastcgi_script_name ~ ^/zentao/(.*\.php) ) { set $cginame $1; } fastcgi_param SCRIPT_FILENAME $document_root/$cginame; include fastcgi_params; } location ~ ^/zentao($|/.*) { alias /opt/zentao/www/$1; index index.php index.html index.htm; }最初也猜想到需要用alias切换到实际目录，但是少了一些配置，一直提示not found。只要是采用fastcgi的方式应该都可以用这种方式配置，因此记录下来备忘，在此也非常感谢原作者。引用地址：https://www.zentao.net/ask/4621.html

nginx反代cookie丢失问题
type: item
date: 2022-04-10T01:59:00+00:00
description: 之前配置nginx的时候遇到过cookie丢失了，但是又想不起来了，后来查到了就记一下吧：location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Cookie $http_cookie; } 这里记录一下，省的以后再忘了。