我有一个包含dynamic和静态内容的应用程序。 我使用nginx作为这个应用程序的前端。 当请求dynamic内容时,请求被转发到一个unix套接字(到一个node.js应用程序),这部分工作正常。 我已经添加了一个“位置”指令来提供静态内容,但这部分不起作用,尽pipe文件夹“/ home / test / my_app / static”确实存在,但我每次都得到404错误。 这是我有的nginx conf: upstream test_sock { server unix:/tmp/test.sock fail_timeout=0; } server { listen 15000; client_max_body_size 4G; server_name localhost domain.com; keepalive_timeout 5; location ~ /static/ { if (!-f $request_filename) { return 404; } if (-f $request_filename) { root /home/test/my_app/static; expires 30d; } } location / { […]
有人可以帮我用nginx的重写规则吗? 使用nginx + php +苗条我正在寻找创build一个大型图书馆,我想分手的Web服务: / -/ws -/ws/login.php -/ws/services.php -/ws/products.php 我需要干净的url: http://<domain>/login/myname/mypassword http://<domain>/services/myaccount/startdate/enddate … 我的问题是我的苗条ws必须有不允许它被移动的设置:get(/ ws / services / hello / :, function(){… 我正在寻找一个更简单的方法,以便我的Web服务设置为:get(/ hello /:name,function(){… 有人可以帮我用nginx的重写规则。 我想我宁愿添加一个新的重写规则给nginx,如果我更改已安装的目录,将来必须更新我所有的Web服务。 TIA
有没有人知道通过gitlab.rb在nginx.conf或gitlab-http.conf中更改参数的方法。 这两个文件都说:“要改变下面的内容,编辑/etc/gitlab/gitlab.rb”,但我不知道用什么参数来改变这些! 谢谢, 亚当
使用Nginx,我得到错误: Error 502 – Bad Request The server could not resolve your request for uri: http://domain.name/file/path 奇怪的是,当我的手机正在使用我手机的数据时,我只能得到这个错误。 当我在Wi-Fi上使用手机或使用台式电脑时,服务器可以提供一切正常的服务。 甚至当我通过Wi-Fi将我的iPad连接到我的手机时,我的手机充当了移动热点。 502错误代码表明,使用php-fpm反向代理或服务请求存在问题。 我没有做这些。 因为这个错误只发生在特定情况下,所以我认为它必须是我的手机发送的请求。 (Nexus 5,Chrome,Android棒棒糖) 我的nginx.conf和其他configuration文件正在通过testing。 我用了: sudo nginx -t 并说“configuration文件语法没问题”,“configuration文件testing成功”。 会发生什么事?
所以我基本上试图通过一个任务加载configuration文件,所以在任务的第一部分,它会使用域1的configurationvariables,例如nginx的vhost文件,第二部分它将使用configurationvariables的域2基本上具有相同的键但不同的一组值。 这里的想法是让任务加载第一个configuration文件variables,然后运行虚拟主机任务,然后加载第二个configuration文件variables,并运行相同的虚拟主机任务,但具有新的值。 这将如何完成?
我想要stream量去https://example.com 。 没有www前缀是允许的,并且需要SSL 。 我们遇到的问题是许多(不是全部)首次访问者在刷新之前没有被redirect到HTTPS。 你看到什么在我的configuration,将允许这种行为? server { listen 80; listen 443 ssl; server_name www.example.com; return 301 https://example.com$request_uri; } server { listen 80; listen 443 ssl; server_name example.com; root /var/www/html/mm; 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 https; proxy_set_header X-Forwarded-Port 443; proxy_set_header Host $http_host; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; client_max_body_size 200m; location / { […]
我试图删除在http post方法后面的斜杠,当我尝试rewrite ^/(.*)/$ /$1 permanent;使用rewrite ^/(.*)/$ /$1 permanent;的URL rewrite ^/(.*)/$ /$1 permanent; 它不适合我 如果Http POST以这种格式进入,则上游应该以这种格式接收/x/y 位置/ x / y / ==>位置/ x / y 位置/ x / y ==>位置/ x / y 这是nginxconfiguration upstream backend { server 127.0.0.1:8778; # Number of idle keepalive connections per worker process. keepalive 35; } location /x/y { limit_except POST […]
好的,我只是想在每次调用/search时添加参数: rewrite ^/search$ /search?foo=bar redirect; 似乎简单的逻辑,但它导致了无止境的循环,因为nginx单独参数,所以$不再工作。 /search?foo=bar一次又一次地触发它,因为它愚蠢地匹配。 那么是否有任何工作解决scheme,而不触及$args ? (我想使用正则expression式,因为匹配规则有点复杂,但基本上是我想要的)
给定一个Nginx的configuration大致是这样的: upstream A { server aa:8080; } upstream B { server bb:8080; } server { listen 80; location @backendA { proxy_pass http://A/; } location @backendB { proxy_pass http://B/; } location / { # This doesn't work. 🙂 try_files @backendA @backendB =404; } } 基本上,我想Nginx尝试上游A,如果A返回404,然后尝试上游B,而失败,返回404到客户端。 try_files为文件系统位置执行此操作,然后可以回退到指定的位置,但它不适用于多个命名的位置。 有什么可以工作吗? 背景:我有一个Django Web应用程序(上游A)和一个Apache / WordPress实例(上游B),我希望在同一个URL命名空间中共存更简单的WordPressurl: mysite.com/hello-world/而不是mysite.com/blog/hello-world/ 。 我可以在Nginx位置复制我的Djangourl,并使用wordpress作为一个整体: location /something-django-handles/ […]
我已经在aws上创build了一个私有存储桶,我想用nginx来反向代理它。 我为所有不同的代理使用了相同的服务器。 这是nginx的configuration文件: user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { server_names_hash_bucket_size 64; server { listen 80; server_name ec2-…-…-….eu-central-1.compute.amazonaws.com; rewrite ^(.*) https://$host$1 permanent; } server { listen 443; server_name ec2-…-…-….eu-central-1.compute.amazonaws.com; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; […]