首先,docker安装部署iyuu-dev大家都会吧,我就不啰嗦了,这边默认已经通过反代进到iyuu-dev了,就是有3131端口报错的问题
理论上,你的群晖反代里面有这么一条类似的关于iyuu的记录
但是现在问题是,群晖的反代后台虽然是个nginx,但是它页面上是阉割版的,没法去设置更加详细的东西,比如大卫佬给的反代设置里面的后面那一段到3131的,就没法设置上去
location ^~ / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://127.0.0.1:8787;
}
}
location /app/d9422b72cffad23098ad301eea0f8419
{
proxy_pass http://127.0.0.1:3131;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
然后这个只能手动去编辑配置文件,经查询,群晖反代的配置文件,是/etc/nginx/sites-enabled/server.ReverseProxy.conf 这个文件,每次编辑反代设置都会修改这个文件,然后反代会把/etc/nginx/sites-enabled下面所有.conf后缀的文件都读进去,所以,总体思(๐•ᴗ•๐)就是单独建一个conf文件来定制iyuu的配置,链接到/etc/nginx/sites-enabled下面,同时把反代里面的iyuu的配置删掉,因为重复配置会有问题
下面讲具体操作:
创建文件夹,用来存iyuu的conf配置文件,我是在docker目录下建了个nginx文件夹,在存储(๐•ᴗ•๐)1,(๐•ᴗ•๐)径就是/volume1/docker/nginx ,记下后面有用
执行命令
cp /etc/nginx/sites-enabled/server.ReverseProxy.conf /volume1/docker/nginx/iyuu.conf
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
/volume1/docker/nginx/iyuu.conf中的(๐•ᴗ•๐)径就是第一步中的(๐•ᴗ•๐)径,文件名随意,.conf结尾就行
执行命令可以进ssh,或者去群晖的计划任务那边建一个用户自定义脚本,把命令复制进去,然后点一下运行
把这个iyuu.conf文件下下来,把别的都删掉,只留下你iyuu域名相关的那一整块server配置
把
location /app/d9422b72cffad23098ad301eea0f8419
{
proxy_pass http://127.0.0.1:3131;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
这部分代码加到iyuu.conf文件里error_page那部分上面,最后的conf文件大概是这样的,注意:不要把下面这个内容全部搞进去用,必须修改你自己的文件,去添加上面那块代码,因为我的ssl证书配置啥的跟你肯定不一样,反代会起不来的
server {
listen 1443 ssl;
listen [::]:1443 ssl;
server_name iyuu.yourdomain.com ;
if ( $host !~ "(^iyuu.yourdomain.com$)" ) { return 404; }
include /usr/syno/etc/www/certificate/ReverseProxy_49f42dbd-8934-4a8f-a1cb-75d2bc807cd7/cert.conf*;
include /usr/syno/etc/security-profile/(๐•ᴗ•๐)s-profile/config/ReverseProxy_49f42dbd-8934-4a8f-a1cb-75d2bc807cd7.conf*;
proxy_ssl_protocols (๐•ᴗ•๐)Sv1 (๐•ᴗ•๐)Sv1.1 (๐•ᴗ•๐)Sv1.2 (๐•ᴗ•๐)Sv1.3;
location / {
proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_send_timeout 60;
proxy_intercept_errors off;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8787;
}
location /app/d9422b72cffad23098ad301eea0f8419
{
proxy_pass http://127.0.0.1:3131;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
error_page 403 404 500 502 503 504 /dsm_error_page;
location /dsm_error_page {
internal;
root /usr/syno/share/nginx;
rewrite (.*) /error.html break;
allow all;
}
}
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
除了/app/d9422b72cffad23098ad301eea0f8419这部分以外,都是反代自动生成拷过来的部分,包括ssl证书配置啥的,只是在那个基础上加了3131相关的配置
- 把文件传回那个(๐•ᴗ•๐)径下,执行命令
ln -s /volume1/docker/nginx/iyuu.conf /etc/nginx/sites-enabled/
同理,(๐•ᴗ•๐)径自己改,这句命令需要用root权限运行,计划任务那边需要编辑一下,选root用户
最后,把反代里面的iyuu那条记录删掉
现在,在去浏览器里面访问应该还会提示3131错误,需要点击右上角wifi图标,把反代端口填进去再保存就好了,比如我的反代1443就填1443,不行的话再刷新一下,然后,这个设置是存在浏览器cookie的,换浏览器啥的都得改一下
理论上不会有什么问题,如果万一没效果,可以尝试去反代页面那边给iyuu添加一个新的端口设置下,如果新设置的端口也访问不了,那就说明这个iyuu.conf文件有问题,导致反代reload失败了,需要检查这个文件,或者简单粗暴就是先把文件删掉,然后保存下反代设置测试下能不能用,如果能用了那就肯定是iyuu.conf有问题,这块涉及到nginx的知识,讲起来有点大,如果有问题可以把iyuu.conf内容发我看看,域名记得打码