今天在想把虚拟机上的centos中的gitlab映射出去,于是想用Ngrok实现内网穿透,我这里需要先在我的vps上用nginx做端口映射,在映射的过程中遇到了一个no resolver defined错误,下面记录整个处理过程。
1.配置nginx转发规则
这里面用到了nginx内置的参数,如有需要可以参考这里1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#转ngrok
server {
listen 80;
server_name *.xiajunyi.com;
location / {
proxy_pass $scheme://$host:8331;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 6 128k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
}
2.然后就报错啦
错误信息如下:1
[error] 3040#0: *11 no resolver defined to resolve xxx.xiajunyi.com
3.错误原因
网上说,原因是Nginx0.6.18以后的版本中启用了一个resolver指令,在使用变量来构造某个server地址的时候一定要用resolver指令来制定DNS服务器的地址。引用至这里。
4.错误修复
在配置中加入一句resolver 8.8.8.8就ok啦:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#转ngrok
server {
listen 80;
server_name *.xiajunyi.com;
resolver 8.8.8.8;
location / {
proxy_pass $scheme://$host:8331;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 6 128k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
}
*.参考链接
本文链接: https://www.xiajunyi.com/pages/p38.html
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请注明出处!