Skocz do zawartości
bryn1u

ngnix+SSL - brak SSL

Polecane posty

Witam,

 

Postanowilem sie przesiasc z apache, jak narazie jestem bardzo zadowolony, dziala wszystko lacznie z php i userdir. Jednak zawsze cos sie musi spier.... (zapewne z mojej winy) i nie dziala SSL.

 

Info:

- posiadam FreeBSD 11, ale to chyba nie ma znaczenia

- porty przekierowane 80 i 443

- ngnix 1.6.2

- php56

- strona po http otwiera sie bez problemu, z https jest brak polaczenia

 

ngnix.conf

root@Proton:/usr/local/etc/nginx # cat nginx.conf

user www www;

worker_processes 1;



error_log /var/log/nginx/error_log info;



events {

        worker_connections 1024;

        accept_mutex on;

        use kqueue;

}

http {

        # OPTIONS

        include conf.d/options.conf;

        include mime.types;

        default_type application/octet-stream;



        # SSL

        include conf.d/ssl.conf;



        # SITES

        include conf.d/sites.conf;



}



options.conf

root@Proton:/usr/local/etc/nginx/conf.d # cat options.conf

client_body_timeout  5s;

client_header_timeout  5s;

keepalive_timeout  75s;

send_timeout  15s;

charset  utf-8;

gzip  off;

gzip_proxied  any;

ignore_invalid_headers  on;

keepalive_requests  50;

keepalive_disable  none;

max_ranges  1;

msie_padding  off;

open_file_cache  max=1000 inactive=2h;

open_file_cache_errors  on;

open_file_cache_min_uses  1;

open_file_cache_valid  1h;

output_buffers  1 512;

postpone_output  1440;

read_ahead  512K;

recursive_error_pages  on;

reset_timedout_connection  on;

sendfile  on;

server_tokens  off;

server_name_in_redirect  off;

source_charset  utf-8;

tcp_nodelay  on;

tcp_nopush  off;

gzip_disable  "MSIE [1-6]\.(?!.*SV1)";

limit_req_zone  $binary_remote_addr  zone=gulag:1m   rate=60r/m;

sites.conf

root@Proton:/usr/local/etc/nginx/conf.d # cat sites.conf

server {

    server_name proton.edu.pl www.proton.edu.pl;

    add_header  Cache-Control "public";

    add_header  X-Frame-Options "DENY";

    limit_req   zone=gulag burst=200 nodelay;

    expires     max;



    listen 80;



    root /usr/local/www;

    index index.php index.html index.htm ;


    #location ~ \.php$ { include conf.d/php-fpm; }
    location = /favicon.ico { return 204; }
    location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ { deny all; }


    location ~ /\. {

            deny all;

            access_log off;

            log_not_found off;

    }



    location ~ ^/~(.+?)(/.*)?$ {

         alias /home/$1/public_html$2;

         index  index.html index.htm index.php;

         autoindex on;

    }



    location ~ \.php$ {

        fastcgi_split_path_info ^(.+?\.php)(/.*)?$;

        fastcgi_pass unix:/var/run/php-fpm.socket;

        fastcgi_index index.php;

        include fastcgi_params;

    }



    location /adminer {

        index adminer/index.php;





    }

}



ssl.conf

root@Proton:/usr/local/etc/nginx/conf.d # cat ssl.conf

server {

    listen 443;

    server_name proton.edu.pl;

    ssl on;

    ssl_certificate /usr/local/etc/nginx/ssl-bundle.crt;

    ssl_certificate_key /usr/local/etc/nginx/server.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_prefer_server_ciphers on;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK;

    ssl_dhparam /usr/local/etc/nginx/dh4096.pem;

    ssl_session_timeout 5m;



}



Certyfikaty wygenerowane za pomoca openssl:

<pre>
cd /usr/local/etc/nginx
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out ssl-bundle.crt
cp server.key server.key.orig
openssl rsa -in server.key.orig -out server.key</pre>

Oraz:

openssl dhparam -out dh4096.pem 4096

Jak wspominalem dziala wszystko oprocz SSL. Czy ktos moze wie w czym jest problem ?

Z gory dziekuje,

Pozdrawiam,

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

netstat pokazuje, że "jakaś" usługa nasłuchuje na porcie 443?

 

Edycja:

Za dokumentacją http://nginx.org/en/docs/http/configuring_https_servers.html

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ...
}

u Ciebie brakuje "ssl" w linii listen.

Edytowano przez mariaczi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Hej,

 

Dzieki za odp. Dodalem ssl a tu wynik z sockstat -4.

root@Proton:/usr/local/etc/nginx/conf.d # sockstat -4
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      nginx      7434  7  tcp4   192.168.0.1:443       *:*
www      nginx      7434  8  tcp4   192.168.0.1:80        *:*
root     nginx      37116 7  tcp4   192.168.0.1:443       *:*
root     nginx      37116 8  tcp4   192.168.0.1:80        *:*

Niestety bez zmian :(

 

#Edit

 

Dziwi mnie jedna rzecz. Uzywam PF pod FreeBSD i jaila do ktorego mam przekierowane TCP IN 80 i 443. Wynik z sockstat jest z jaila. Jednak gdy patrze z host za pomoca pftop, dostaje taki wynik:

pfTop: Up State 1-7/7, View: default, Order: none, Cache: 10000                                                                                                                          11:15:57
 
PR        DIR SRC                                           DEST                                                   STATE                AGE       EXP     PKTS    BYTES
tcp       In  188.40.44.117:59278                           192.168.0.1:5555                             
tcp       In  83.14.127.153:2298                            37.187.97.151:22                             
tcp       In  83.14.127.153:4456                            37.187.97.151:22                              
tcp       In  46.171.87.202:53748                           192.168.0.1:80                               
tcp       In  46.171.87.202:53749                           192.168.0.1:80                                 
tcp       Out 37.187.97.151:25959                           91.217.189.58:6667                           
tcp       Out 37.187.97.151:57856                           94.125.182.253:6667                           

Z tego co widac nic nie nasluchuje na porcie 443 tylko 80. Jak sie do tego ustosunkowac ?

 

#Edit

Jednak nie dziala.

Edytowano przez bryn1u (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dodaj opcję root i ogólnie to co masz pod portem 80, error_log i pokaż co w logach.

 

Juz sprawdze moment.

 

Sprobowalem sie polaczyc za pomoca:

openssl s_client -connect 37.187.97.151:443

I ani drgnie !

 

A jak zrobie

openssl s_client -connect localhost:443

lub

openssl s_client -connect 192.168.0.1:443

To dostaje włalaaa:


[root@Indyferentny /var/log]# openssl s_client -connect 192.168.0.1:443
CONNECTED(00000004)
depth=0 C = PL, ST = Some-State, O = Internet Widgits Pty Ltd
verify error:num=18:self signed certificate
verify return:1
depth=0 C = PL, ST = Some-State, O = Internet Widgits Pty Ltd
verify return:1
---
Certificate chain
 0 s:/C=PL/ST=Some-State/O=Internet Widgits Pty Ltd
   i:/C=PL/ST=Some-State/O=Internet Widgits Pty Ltd
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDBjCCAe4CCQCP+EE4cRgFEjANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJQ
TDETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMB4XDTE1MDMxODA3MDc0OFoXDTI1MDMxNTA3MDc0OFowRTELMAkG
A1UEBhMCUEwxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0
IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AOFLenSsPshz2y42F5jYA7lbjGy/nNXJQJVbCAKU/DxbDWQpn0pU0sdcPVjeSmqe
v8L7uqNw4+883ukXowXzMkxD3OVjs37fb6FcqmJMWkDf80+kQLZIX5Vxqr4XA2kt
0K78uKmL7whV0OKE0NyjMCiPNpRk68BEwT42ru9cIQnlCH9zrRaheJRA8UjPjs/8
VZZBXByc9dg8td3tI35E8rghB+ebEi3nQuK5kVL46Mr8x4mm6zVpfYxiOcAh3YS3
GBqxQSXe86t6lzKCILVCqjspP1OlCLCw/9S6VrHkwtsd5IJmgsS1VpJ2G0opiSyL
iQI9/MHgR8qXMihlsugQf0MCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEACR1HkmyM
ov2BhsGrsSWfZ6/6jeOpK+ZKNyQegIpcA9yGoFV2x7V5CeoJM6TraO1HQIuP/trN
ea7oCPTgjgrXG221TjiEP7tvs+WxI0H4Moqs0dvHGxhU3J+O7wYHg/WQwLfQino+
nTroi4laGP36IVwCEgWc50mI05fA7a4QMJWkqqPX2if9LJT1K9XohwVm/cESKoD2
hQgrlajy5+xWyH+bDDvcKQ3FkNkzH3POoG3UZQOK7CgCpMB7kNlznfuuv4TPEs8U
OjnP6DewKhW95VlHCXslcYZz0CjvutTY4dSBhG0velhM9JPXJBe+S1qqDqZr2yBr
xZ2uvrLIkmSJvQ==
-----END CERTIFICATE-----
subject=/C=PL/ST=Some-State/O=Internet Widgits Pty Ltd
issuer=/C=PL/ST=Some-State/O=Internet Widgits Pty Ltd

....



O co tu chodzi ?

Edytowano przez bryn1u (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mi tam działa (co prawda 404 ale łączę się) https://proton.edu.pl

 

Tak, teraz dziala. Jestes genialny !

 

Dodalem to co mowiles, wszystko spod 80 do 443 i smiga jak powinno.

 

Podziekowac Ci dobry czlowieku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Musisz albo robić z 443 proxy_pass do 80 albo tak jak zrobiłeś - przepisać wszystko. Dla nginx'a Twoja konfiguracja na początku była pusta, więc nie miał jak podawać strony.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×