diff --git a/test/config/naive-nginx.conf b/test/config/naive-nginx.conf index e109e1f8..bcd06c04 100644 --- a/test/config/naive-nginx.conf +++ b/test/config/naive-nginx.conf @@ -1,22 +1,18 @@ -server { - listen 10000 ssl http2; - listen [::]:10000 ssl http2; +stream { + server { + listen 10000 ssl; + listen [::]:10000 ssl; - server_name example.org; - ssl_certificate /etc/nginx/cert.pem; - ssl_certificate_key /etc/nginx/key.pem; - ssl_session_timeout 1d; - ssl_session_cache shared:MozSSL:10m; # about 40000 sessions - ssl_session_tickets off; + ssl_certificate /etc/nginx/cert.pem; + ssl_certificate_key /etc/nginx/key.pem; + ssl_session_timeout 1d; + ssl_session_cache shared:MozSSL:10m; # about 40000 sessions + ssl_session_tickets off; - # modern configuration - ssl_protocols TLSv1.3; - ssl_prefer_server_ciphers off; + # modern configuration + ssl_protocols TLSv1.3; + ssl_prefer_server_ciphers off; - # HSTS (ngx_http_headers_module is required) (63072000 seconds) - add_header Strict-Transport-Security "max-age=63072000" always; - - location / { - proxy_pass http://127.0.0.1:10003; + proxy_pass 127.0.0.1:10003; } -} +} \ No newline at end of file diff --git a/test/config/nginx.conf b/test/config/nginx.conf new file mode 100644 index 00000000..124218fd --- /dev/null +++ b/test/config/nginx.conf @@ -0,0 +1,29 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +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/naive.conf; \ No newline at end of file diff --git a/test/naive_test.go b/test/naive_test.go index f41dce98..83e15017 100644 --- a/test/naive_test.go +++ b/test/naive_test.go @@ -10,12 +10,11 @@ import ( "github.com/sagernet/sing/common/network" ) -// FIXME: nginx do not support CONNECT -func _TestNaiveInboundWithNingx(t *testing.T) { +func TestNaiveInboundWithNginx(t *testing.T) { caPem, certPem, keyPem := createSelfSignedCertificate(t, "example.org") startInstance(t, option.Options{ Log: &option.LogOptions{ - Level: "trace", + Level: "error", }, Inbounds: []option.Inbound{ { @@ -40,6 +39,7 @@ func _TestNaiveInboundWithNingx(t *testing.T) { Image: ImageNginx, Ports: []uint16{serverPort, otherPort}, Bind: map[string]string{ + "nginx.conf": "/etc/nginx/nginx.conf", "naive-nginx.conf": "/etc/nginx/conf.d/naive.conf", certPem: "/etc/nginx/cert.pem", keyPem: "/etc/nginx/key.pem",