如题,
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.
@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;
}
}
Hulk
2018 年11 月 19 日 05:52
4
127就是127,那是回环地址,代表服务器本身,内网访问如果没问题说明整个服务应该是没问题了,至于外网访问不了会不会跟你外网映射有关?
@Hulk 外网已经将80,443映射到了内网IP上面了,不过已知80及443被运营商封了,会不会是因为这个原因,所以即使做了80,443的映射,也无法进行代理访问么?
jyzzx
2018 年11 月 20 日 23:24
6
你的外网80,443端口被封了,就不好用域名访问了,必须加其他端口
哦,那网上所说的反向代理可以解决80,443被封的事情是忽悠人的,是吧,明白了,谢谢。
proxy_set_header Host $host:端口号试试?