今日在阿里云服务器研究frp,因为备案了,所以打算实现将frp中的http端口改成80端口,但是服务器已经搭建有其他网站把80端口,于是打算通过nginx实现共用80端口。
实现步骤:
已经部署好的80端口不用更改,只用新增一个nginx配置,将*.frp.51it.wang
所有80全部转发到88端口上面,就可以实现访问80就可以访问到frp上的88端口(我部署的frp中的http是88端口)
其中nginx的核心配置如下:
代码语言:javascript复制server {
listen 80;
server_name *.frp.51it.wang;
#拦截转发
location / {
proxy_intercept_errors on;
proxy_pass http://127.0.0.1:88;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
access_log /home/xx.log;
error_log /home/error.log;
}
然后重新启动nginx试试效果,就可以80共存了呢。
问题遗留: 但是想把frp默认的错误页面改成自定义的页面,拦截了404等报错到自定义的页面,虽然实现了,但是有个问题一直不知道怎么解决。 就是改了之后浏览器一直重定向到错误页面,导致无法访问页面,nginx日志也打印了很多重定向报错,估计是某个地方没设置对- -先粘贴出来看看有没有大佬解决,哈啊哈。
页面错误如下:
后台日志错误如下:
我配置的nginx如下:
代码语言:javascript复制server {
listen 80;
server_name *.frp.51it.wang;
# 错误页配置
error_page 404 404.html;
location = /404.html {
root /home/www;
}
#拦截转发
location / {
proxy_intercept_errors on;
proxy_pass http://127.0.0.1:88;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
access_log /home/xx.log;
error_log /home/error.log;
}
目前就只有不自定义404页面了呢- -。