我在CentOS 6.x机器上使用Apache和Ngnix。 我碰到的问题是,当使用yum update来修补这些服务时,默认的configuration文件被重写到Apache的相应configuration目录( /etc/httpd/{conf,conf.d}中, /etc/nginx和/etc/nginx/conf.d Nginx的/etc/nginx/conf.d ),覆盖了我有意做的configuration更改。 我能想到的Web服务器configuration唯一的非标准部分是我已经删除了configuration文件: Apache etc/httpd/conf.d/ssl.conf Nginx /etc/nginx/conf.d/default.conf 并用其他名称不同的configuration文件replace它们。 更新后,这些文件重新出现,毫不奇怪,在这一点上configuration存在冲突。 有没有办法避免这一点,所以我不需要不断地重新检查configuration目录的内容? 或者我只需要忍受这个麻烦,并且每次修补后重新检查configuration。
我有一个后端服务器,由于各种原因,只处理GET请求。 这个服务器位于nginx代理的后面(即,所有的访问都通过nginx完成,nginx通过proxy_pass代理到后端)。 是否有可能使nginx重写POST请求到GET请求,即使POST /foo身体内容typesapplication/x-www-form-urlencoded和body foo=bar将被代理GET /foo?foo=bar ?
我已经读了陷阱和IfIsEvil ,现在想尝试没有ifs我的完整的nginxconfiguration。 但是我无法转换这个额外的PHP规则: if (!-e $request_filename){ rewrite ^/(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ /$1.$3 last; } 有人能帮助我吗? =(。 祝你今天愉快, 巴斯蒂安
我设置Nginx拒绝一个特定的IP地址,并希望确认它正在工作。 我怎样才能做到这一点? 原则上,我想要做这样的事情: ping -from <blocked ip address> <my ip address> 并看到被阻止的东西。
我们部门的网站在内部和外部都使用www子域名。 当我join时,我注意到许多用户在没有www情况下尝试了一下,出现了一个错误,变得困惑或者恼火,直到他们试图用www或者某人告诉他们。 所以,我添加了一个指向我们的Web服务器(以前不存在)的父域的内部DNS条目,并configuration了我们的Web服务器来侦听这两者。 然后我们使用自签名证书。 最近,我们得到了外部签名的,但是,在一个疏忽,只为*.parent.domain ,而不是parent.domain 。 因此,尽pipewww上的体验一般是平稳的,但是当一个不知情的用户只是尝试https://parent.domain ,他们会得到一个错误。 在curl : curl: (51) SSL: no alternative certificate subject name matches target host name 'parent.domain' 我为HTTP请求添加了redirect,但是浏览器阻止了HTTPS的进一步操作,所以客户端从不会看到redirect,但只是一个很大的,可怕的警告。 这些证书已经获得了三年,我认为我不能为这个边缘案件辩解一笔新的支出。 有什么我可以做的服务器端来缓解这一点?
我尝试使用Nginx + uwsgi运行我的Django应用程序,但在加载一分钟后收到504 Gateway Time-out 。 我的应用程序需要一些时间来做它需要的东西,因为它在几个网站上search特定的东西 我的nginx conf是下一个: upstream uwsgi { server 127.0.0.1:8000; } server { listen 80; server_name server_ip; root /opt/emails/subscriptions; index index.html index.htm index.php; location /emailsproject/ { root /opt/emails/subscriptions/; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://uwsgi; proxy_set_header Host $http_host; uwsgi_read_timeout 18000; } } 我的uwsgi脚本: description "uWSGI server" […]
我有一个在Ubuntu 14.04 LTS上运行的nginx反向代理。 当向nginx代理发出请求时,会将其传递给包含一个(默认)网站的IIS服务器。 它似乎呈现HTML罚款,但不幸的是,服务器响应所有其他资产404错误。 这里是/etc/nginx/nginx.conf文件: user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile off; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log […]
我们使用nginx作为我们的play framework 1.2.7服务器的代理。 一些播放框架中的路由使用了一个<。*>通配符,这个问题在这里看起来像 GET /media/{bucket}/{id}/inline/{<.*>config} MediaCtl.getMediaInlineImgIx 该configuration可以包含一个http服务器,由于某种原因,nginx将去掉http://中的/。 例如: 13:07:59,299 INFO [play] ~ Anonymous Guest ~ MediaCtl.getImgIx(): config {"w":100,"h":65,"origin":"http:/localhost:8080","fit":"max"} 当通过localhost:8080使用nginx的时候。 当直接调用localhost:9010时,我得到了 13:19:25,648 INFO [play] ~ Anonymous Guest ~ MediaCtl.getImgIx(): config {"w":100,"h":65,"origin":"http://localhost:9010","fit":"max"} 我在access.log或error.log中看不到任何消息,关于似乎正在发生的URL调整。 对于如何解决这个问题,有任何的build议吗?
我想用nginx和gunicorn部署一个网站。 Nginx正在提供静态文件,并作为gunicorn的代理。 这里是我的/ etc / nginx / sites-available / herbop文件的内容 server { listen 80; server_name herbop.com; location / { 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; proxy_set_header Host $http_host; proxy_intercept_errors on; proxy_pass http://127.0.0.1:8001; } location /static/ { autoindex on; alias /opt/Herbop-Backend/app/static/; } } server { listen 80; server_name 51.254.123.234; return 301 $scheme://herbop.com$request_uri; } […]
我有一个页面example.com,其中有SSL证书设置,一切工作正常。 这里是configuration的ssl部分: server { listen 80 default_server; server_name www.example.com example.com; return 301 https://$server_name$request_uri; } server { listen 443 default_server; server_name example.com www.example.com; # strenghen ssl security ssl_certificate /some/ssl/files.crt; ssl_certificate_key /some/ssl/files.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; ssl_dhparam /etc/ssl/certs/dhparam.pem; # Add headers to serve security related headers add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; […]