因运营商封了80及443端口,但貌似6.3以后的版本不支持fastcgi模式,求新的反向代理解决方案

如题,

Nginx 的反向代理貌似可以解决80及443被运营商封锁的问题,但我看有同学说(自己测试也报错)6.3以后的版本都不再支持fastcgi模式,因此求新的解决办法,请各位老大帮忙支支招,谢谢。

[root@localhost ~]# /opt/seafile/seafile-pro-server-6.3.6/seahub.sh start-fastcgi

LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub (fastcgi) at 127.0.0.1:8000 …
Unknown command: ‘runfcgi’
Type ‘manage.py help’ for usage.
Error:Seahub failed to start.

建议你看下这个帖子

1 个赞

@Hulk 你好,非常感谢你抽空回复我的问题,现在有一个疑问,以下配置文件中的:http://127.0.0.1 的地址是需要改成内网服务器的IP地址,还是内网服务器所对应的路由中公网的IP 地址?

我测试了,如果改成内网地址:http://192.168.1.10 则内网中的其它机器可以通过 pan.123.com (不带端口号)访问系统,但外网用户还是需要带端口号8000才可以访问。

另外,我也尝试把这个127.0.0.1 改成服务器所对应的路由中的公网IP地址(即pan.123.com所解析的IP地址)也无法实现不带端口号访问系统。

以下是配置文件,麻烦看看是不是哪里还需要设置,感谢。

server {
listen 80;
server_name pan.123.com;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000;
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_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 1200s;

 # used for view/edit office file via Office Online Server
 client_max_body_size 0;
 
 access_log /var/log/nginx/seahub.access.log;
 error_log /var/log/nginx/seahub.error.log;

}

  location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout  36000s;
proxy_read_timeout  36000s;

}
location /media {
root /opt/seafile/seafile-server-latest/seahub;
}
location /seafdav {
fastcgi_pass 127.0.0.1:8080;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REMOTE_ADDR $remote_addr;
client_max_body_size 0;
access_log /var/log/nginx/seafdav.access.log;
error_log /var/log/nginx/seafdav.error.log;
}

}

127就是127,那是回环地址,代表服务器本身,内网访问如果没问题说明整个服务应该是没问题了,至于外网访问不了会不会跟你外网映射有关?

@Hulk 外网已经将80,443映射到了内网IP上面了,不过已知80及443被运营商封了,会不会是因为这个原因,所以即使做了80,443的映射,也无法进行代理访问么?

你的外网80,443端口被封了,就不好用域名访问了,必须加其他端口

哦,那网上所说的反向代理可以解决80,443被封的事情是忽悠人的,是吧,明白了,谢谢。

proxy_set_header Host $host:端口号试试?