Можно ли выполнить proxy_pass с nginx без DNS?
Я смог настроить SSL на серверах, на которых есть DNS, которые являются средой контроля качества и производственной средой в моей компании, но я вообще не могу настроить среду DEV, но для нее нет DNS.
Это конфигурация, которую я использовал для SSL в среде QA, , которая работает правильно :
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name myweb.com.br;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name myweb.com.br;
ssl_certificate "/etc/letsencrypt/live/myweb.com.br/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/myweb.com.br/privkey.pem";
ssl_protocols TLSv1.1 TLSv1.2;
ssl_dhparam "/etc/ssl/certs/dhparam.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP;
ssl_prefer_server_ciphers on;
root /var/www;
index index.html index.htm;
location / {
#Enable reverse proxying to Wildfly on internal port 8080
proxy_pass http://localhost:8080;
#Tell NGINX to proxy these headers
proxy_set_header sec_jbossremoting_key $http_sec_jbossremoting_key;
proxy_set_header sec_hornetqremoting_key $http_sec_hornetqremoting_key;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
proxy_set_header host $http_host;
}
}
Я попытался сделать более короткую версию этого, так как я не разбираюсь в тему, или использовать конфигурацию по умолчанию с привязанным к ней IP-портом, но у меня просто плохой шлюз, а в журналах ничего нет, только попытка доступа.
10.22.2.36 - - [09/Mar/2020:08:06:06 -0300] "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"
10.22.2.36 - - [09/Mar/2020:08:06:06 -0300] "GET /favicon.ico HTTP/1.1" 502 559 "http://10.233.133.6/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"
nginx, работающий на моем локальном компьютере, достаточно прост, в основном он использует то, что по умолчанию имеет конфигурация.
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://localhost:8080;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Я попытался изменить эту базовую конфигурацию сервера на его IP-адреса, но все безуспешно. Порты уже открыты, доступны как 80, так и 8080, и я вижу nginx в 80 и мою wildfly в 8080.
Может ли кто-нибудь помочь мне с этим? Или скажите мне, можно ли сделать это без привязки DNS только к IP-адресу.
, попробуйте следующую конфигурацию для перенаправления Nginx
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:8080;
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 https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
location /.git {
deny all;
return 404;
}
}