2017-02-12 56 views
1

我有Jenkins在IP上运行的CentOS 7虚拟机上运行,​​说的是129.215.193.34。所以,我可以使用129.215.193.34:8080访问Jenkins。我想使用nginx,因此用户不必输入:8080,只需输入IP号码即可。 nginx的安装和插入后在/etc/nginx/nginx.conf配置nginx指向Jenkins服务器时出错

location/{ 
    proxy_pass http://127.0.0.1:8080; 
    proxy_redirect off; 
    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; 
} 

以下,但访问到129.215.193.34当我得到一个一般性错误。我怎么知道这里有什么问题?我可以看到129.215.193.34:8080詹金斯网络接口,但没有对刚刚129.215.193.34

nginx.conf的其余部分看起来像这样

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

# Load dynamic modules. See /usr/share/nginx/README.dynamic. 
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; 
    tcp_nopush   on; 
    tcp_nodelay   on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 

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

    # Load modular configuration files from the /etc/nginx/conf.d directory. 
    # See http://nginx.org/en/docs/ngx_core_module.html#include 
    # for more information. 
    include /etc/nginx/conf.d/*.conf; 

    server { 
     listen  80 default_server; 
     listen  [::]:80 default_server; 
     server_name _; 
     root   /usr/share/nginx/html; 

     # Load configuration files for the default server block. 
     include /etc/nginx/default.d/*.conf; 
     location/{ 
      sendfile off; 
      proxy_pass   http://127.0.0.1:8080; 
      proxy_redirect  default; 

      proxy_redirect off; 
      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; 
     location = /40x.html { 
    } 

    error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
    } 
} 
+0

你有服务器部分吗?你可以把整个nginx配置在这里吗? – Rik

+0

@Rik好的,对不起。让我更新它。 – Manolete

+0

尝试更改只侦听外部IP的“服务器”部分。 '听129.215.193.34:80 deafult_server'并重新启动nginx。在位置有一个重复的'proxy_redirect',但你需要使它工作的是'proxy_pass'。所以你可能想先尝试一下。 – Rik

回答

1

您可以验证,如果nginx的配置是否正确运行(作为root)

nginx -t 

如果这是正确的,检查代理的工作原理(你应该在nginx配置中找到一些东西)。运行

tail -f /var/log/nginx/error.log 

和卷曲的机器

curl -I http://<ip>:80/ 

在SELinux的,allow daemons to connect to the service

setsebool -P httpd_can_network_connect on 
主机上