Nginx에 Jenkins 설정을 마치고 돌려봤지만 no resolver defined to resolve 라고 뜨는 에러가 발생했다.
1. 찾아보니 proxy_pass 를 변수로 받으면 nginx의 기본 built-in resolver로 연결을 하는데, 여기서 문제가 생긴 것임.
2. resolver 1.1.1.1; 를 추가하니 해결
default.confserver {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name j10a708.p.ssafy.io;
# SSL setting
ssl_certificate /etc/ssl/j10a708.p.ssafy.io/certificate.crt;
ssl_certificate_key /etc/ssl/j10a708.p.ssafy.io/private.key;
# redirect HTTP request to HTTPS request
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
#access_log /var/log/nginx/host.access.log main;
#error_log /var/log/nginx/host.error.log;
location /.well-known/pki-validation/ {
alias /usr/share/nginx/html/.well-known/pki-validation/;
}
include /etc/nginx/conf.d/service-url.inc;
location / {
resolver 1.1.1.1;
proxy_pass $service_url;
#root /usr/share/nginx/html;
proxy_redirect off;
#index index.html index.htm;
charset utf-8;
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-Proto $scheme;
}
location /api {
proxy_pass http://j10a708.p.ssafy.io:8080;
proxy_redirect off;
charset utf-8;
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-Proto $scheme;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}