LINUX.ORG.RU
решено ФорумAdmin

nginx как ssl proxy для tomcat8

 , , ,


0

1

привет всем. пишут тут потому как битые часы не могу понять почему у меня то работает страничка, то не работает.

проверял чисто на томкате, без nginx , все работает урл [removed] пообновляйте (cntrl+f5) и сами все поймете. код тестовой странички

<html>
<body>
  <center><img src="/mini.png" /></center>
  <center><img src="/mini.jpg" /></center>
</body>
</html>

настройки nginx


server {
    listen 80;
    return 301 https://$host$request_uri;
}

#}

server {
server_name www.frends.kz;
    listen                      443 ssl spdy;

    ssl                         on;
    ssl_protocols               TLSv1.2 TLSv1.1 TLSv1;
    ssl_session_cache           shared:SSL:20m;
    ssl_session_timeout         10m;
    ssl_ciphers                 'EECDH+ECDSA+AESGCM:AES128+EECDH:AES128+EDH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!CAMELLIA:!ADH';
    ssl_prefer_server_ciphers   on;

    resolver                    8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout            10s;
    add_header                  X-Frame-Options             "DENY";
    add_header                  X-Content-Type-Options      "nosniff";
    add_header                  Strict-Transport-Security   "max-age=31536000";
    add_header                  Public-Key-Pins 'pin-sha256="мой пин="; max-age=5184000;';
    ssl_stapling                on;
     ssl_certificate             /мой путь.crt;
    ssl_certificate_key         /мой путь.key;
    ssl_dhparam                 /мой путь/dhparam.pem;

    # Main location
    location / {
        proxy_pass                 http://localhost: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;

        location ~ \.php$ {
        root /мой путь до того места где должен работать пхп/www;
        proxy_read_timeout 61;
        fastcgi_read_timeout 61;
        try_files $uri $uri/ =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

}

прямой доступ к томкату я закрыл для всего кроме localhost



Последнее исправление: beastie (всего исправлений: 3)

Такое впечатление, что у тебя там где-то round-robin случается. То 200 то 403, потом опять 200 и опять 403.

И ещё: spdy умер, да здравстует h2!

[NPN] server offers:
          * spdy/3.1
          * http/1.1
[ERROR] HTTP/2 protocol was not selected. (nghttp2 expects h2-14)
[ERROR] Could not connect to the host

Это точно весь конфиг?

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

И так будет более канонично:

    # Main location
    location / {
        try_files $uri @proxy;
    }
    location @proxy {
        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;
    }
    location ~ \.php$ {
        root /мой путь до того места где должен работать пхп/www;
        proxy_read_timeout 61;
        fastcgi_read_timeout 61;
        try_files $uri $uri/ =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

beastie ★★★★★
()
Ответ на: комментарий от beastie

из конфига вырезал еще один прокси пасс

location /jira {
        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;
        proxy_pass http://localhost:8081/jira;
        client_max_body_size 10M;
    }
pyata4ka
() автор топика
Ответ на: комментарий от beastie

error.log

пообновлял только что страницу в еррор вот что

2016/02/24 21:25:25 [warn] 4173#0: *25 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/00/0000000002 while reading upstream, client: 92.46.22.193, server: www.frends.kz, request: "GET /mini.jpg HTTP/1.1", upstream: "http://127.0.0.1:8$
2016/02/24 21:25:38 [warn] 4173#0: *25 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/00/0000000003 while reading upstream, client: 92.46.22.193, server: www.frends.kz, request: "GET /mini.png HTTP/1.1", upstream: "http://127.0.0.1:8$


сам не могу понять что за фигня... весь деь потратил меняя конфиг. на голом томкате все нормально пашет. именно что то в проксировании nginx a

pyata4ka
() автор топика

На работе был конфиг для атлассианокала (conf + jida), если не забуду завтра посмотрю.

svr4
()
Ответ на: комментарий от svr4

jira

так жира норм работает. она при установке свой томкат подымает . а тут еще есть мой томкат . который работает, но нжин криво его проксирует (

pyata4ka
() автор топика
Ответ на: jira от pyata4ka

Я про то, что у меня два аппа одним нжинксом и проксируются, ибо нехер томкет голой жопой в интернет совать.

И https средствами nginx и сделан.

svr4
()
Ответ на: jira от pyata4ka

Методом научного тыка минимизируй конфиг, пока не найдёшь, где загвоздка.

beastie ★★★★★
()
Ответ на: комментарий от svr4

need conf

скинь пожалуйста завтра. )) очень буду ждать.. ато проблема не стандартная . nginx ставил с репы nginx а

pyata4ka
() автор топика
Ответ на: комментарий от beastie

и так

начинал я тестить вообще с одним параметром proxy_pass . результат тот же. единственное что я сделал , это вытащил конфиг ресурса в отдельный файл. nginx conf выглядит так

user  www-data;
worker_processes  4;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
#    include       /etc/nginx/mime.types;
#    default_type  application/octet-stream;
#
#    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;
#
#    keepalive_timeout  65;
#
#    #gzip  on;
#
#    include /etc/nginx/conf.d/*.conf;

include /etc/nginx/sites-enabled/*.conf;
}


pyata4ka
() автор топика
Ответ на: комментарий от beastie

Спасибо, очевид капитанность. Внедряя secure_link, тамбнейлы + кэширование средствами нжинкса и прочий oscp stapling - куда б я девался без говностатей в стиле «как сделать @location». Правда это всё не для жиры, той и proxy_pass хватает.

svr4
()
Последнее исправление: svr4 (всего исправлений: 2)
Ответ на: комментарий от beastie

проверил по отдельности

В общем натравил nginx с ssl на эту папку , все работает проверил томкат - все работает

соответственно проблема именно в проксировании где то . уже не знаю где я ошибся.

pyata4ka
() автор топика
Ответ на: комментарий от svr4

разобрался

в общем как обычно все проблемы из за меня.

в конфиге томката я запрещал прямой доступ так

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" />

а надо было так

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
   allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/> 
pyata4ka
() автор топика
Ответ на: комментарий от beastie

как к модератору

можешь пожалуйста удалить в сообщениях урл?

pyata4ka
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.