2017-04-02 5 views
1

Ich habe eine Spring-Boot-Anwendung läuft auf eingebetteten Tomcat läuft auf Vagrant CentOS-Box. Es läuft auf Port 8080, damit ich auf die Anwendung im Webbrowser zugreifen kann. Ich muss Nginx Proxy-Server einrichten, die auf Port 80 hören und es an meine Anwendung umleiten.Spring-Boot-Anwendung auf Vagrant hinter Nginx-Proxy einrichten

Ich erhalte diesen Fehler es das Nginx log:

[Crit] 2370 # 0: * 14 connect() auf 10.0.15.21:8080 fehlgeschlagen (13: Permission verweigert), während eine Verbindung zu Upstream, Auftraggeber: 10.0.15.1, Server:, Anfrage: "GET/HTTP/1.1" stromaufwärts "http://10.0.15.21:8080/" host: "10.0.15.21"

den Beispielen sind alle eingerichtet ziemlich aussieht ähnlich und die einzige Antwort, die ich finden konnte, war vielleicht this one. Es ändert jedoch nichts.

Hier ist meine Serverkonfiguration in /etc/nginx/conf.d/reverseproxy.conf

server { 
    listen 80; 
    location/{ 
     proxy_pass http://10.0.15.21:8080; 
     proxy_set_header X-Forwarded-Host $host; 
     proxy_set_header X-Forwarded-Server $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

gelegen Und hier ist mein nginx.conf Datei‘

user root; 
worker_processes auto; 
error_log /var/log/nginx/error.log; 
pid /run/nginx.pid; 

include /usr/share/nginx/modules/*.conf; 

events { 
    worker_connections 1024; 
} 

http { 
    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log /var/log/nginx/access.log main; 

    sendfile   on; 
    sendfile   on; 
    tcp_nopush   on; 
    tcp_nodelay   on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 

    include    /etc/nginx/mime.types; 
    default_type  application/octet-stream; 

    include /etc/nginx/conf.d/*.conf; 

} 

Ich weiß nicht, ob das verwandt ist, aber unter journalctl -u nginx kann ich dieses Protokoll sehen.

systemd 1: Fehler PID aus der Datei /run/nginx.pid zu lesen: Ungültige Argument

Antwort

1

centos SELinux standardmäßig aktiviert ist.

Sie müssten, wenn auszuschalten durch

Lauf
setsebool httpd_can_network_connect on 

Es einige Informationen über diese im Internet, wenn Sie mehr erfahren möchten. um es persistent zu machen können Sie

setsebool -P httpd_can_network_connect on 
+0

Ich habe eine feste IP in Vagrantfile eingerichtet. Es ist auf 10.0.15.21 gesetzt –

+1

oh könnte SELinux Blockierung auf Ihrem Centos-Box sein, können Sie 'setsebool httpd_can_network_connect on ausführen und versuchen –

+0

Sieht aus wie das war das Problem. Es funktioniert, danke! –