为知悉私有配置nginx反向代理和https的部署方法

使用nginx代理_需要配置proxy_set

   server {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header x-wiz-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        ...

ssl证书配置

ssl_certificate /etc/nginx/server.crt;   改成你的证书的名字
ssl_certificate_key /etc/nginx/server.key;   改成你的证书的名字
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5:!EXP;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

为知悉协议能够为专利服务,需要动态客户端获取您的域名以及客户端使用的协议注意事项,因此,您需要在您的 nginx 服务器上添加一些配置,让使用的,移交给知悉服务。

配置自动获取协议方式

通过这种方式配置,客户端可以使用http或者https协议,为知笔记服务能够自动获取客户端使用的协议。

配置nginxer代理代理。在服务器里面,增加下面的配置:

server {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade"
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header x-wiz-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        ...
}

如果你的nginx只有一个server模块,或者其他的server模块没有特殊需求,那么这些配置,也可以统一配置到http模块中:

http {
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade"
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header x-wiz-real-ip $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host $http_host;
       proxy_set_header X-Forwarded-Proto $scheme;
       ...
}

如果您的 nginx 模块还有额外的,那么,可能的配置: 在 http 中加入以下配置:

http {
    map $http_x_forwarded_proto $thescheme {
          default $scheme;
          https https;
    }
   ...
}

然后在server模块(或者http模块)里面,将前面的配置中的proxy_set_header X-Forwarded-Proto $scheme;,替换为下面的代码:

proxy_set_header X-Forwarded-Proto $thescheme;

然后重新启动nginx服务。

强制使用https协议

如果您的所有 nginx,并没有直接提供给最终用户,并且在某些情况下有相同的服务/cdn 证书,并且您的服务器是在正常配置/cdn 配置的,那么可能会导致无法获取正确的客户端所使用的协议,确实导致无法使用客户端使用的协议修改提交给知笔记服务。在这种情况下,您可以配置,强制通知服务器使用 nginx https协议。

修改前面的配置,直接将proxy_set_header X-Forwarded-Proto $scheme修改成

  proxy_set_header X-Forwarded-Proto "https";

如果您需要给自己的私有服务器配置配置HTTPS服务,则您应该自己添加一个nginx自己配置您的网站并安装和启动的方式,请自行搜索。

测试配置

在浏览器内输入:(注意是https协议,将your-server修改成您自己的服务器地址)

https://your-server/?p=wiz&c=endpoints

正常情况下,会出现一个json数据,检查第一个关键向导的值,应该是https大惊小怪。

版权声明:
作者:admin
链接:https://www.ysp8.cc/wordpress/2022/13/4190.html
来源:流浪者博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录