我们使用nginx来进行负载平衡,我们需要ip_hash来保证我们的服务器正常工作。 当我们开始使用cloudflare时,我们的大部分请求只能用于一台服务器,因为看起来这些服务器都是由cloudflare的IP标识的。 我们希望能够更好地平衡它,并且ip_hash使用cloudflare提出请求的CF-Connecting-IP头。 任何人都知道如何做到这一点? upstream backend { ip_hash; #proxy_next_upstream_timeout 30; server localhost:8080 max_fails=2 fail_timeout=180; server somethign:8080 ; server something2:8080; }
我在我的服务器上运行nginx安装程序的多个域名如下: server { listen 80; server_name domain1.com www.domain1.com; root /var/www/domain1/public_html; index index.php index.html index.html; } server { listen 80; server_name domain2.com www.domain2.com; return 301 https://plusgoogle.com/+somepage; } server { listen 80; root /var/www/other_domains/public_html; index index.php index.html index.html; } 每个服务器块都在其单独的文件(domain1.conf,domain2.conf等) 现在来解决这个问题: Domain1正常工作,因为它应该 域2 – 不幸的是现在不能testing,与godaddy有一些问题,但我很确定它会正常工作。 其他域redirect到domain2设置的301 url 我有点困惑,我可以理解,如果域2将加载其他域的根,但是当我在configuration中一起指定server_name 301与其他域redirect到301? 感谢帮助 更新 你确定你的浏览器没有caching – 我试图打开不同的设备上的网站,我认为corevs的 这些域在现实中是不同的,就像它们在上面的例子中一样 – 是的,实际上我不明白为什么我不给域名:domain1 […]
出于某种原因,我无法更改根目录。 我有和/usr/share/nginx/html的默认根一样的权限,而且我的另一个文件夹中的所有文件和文件夹也都有recursion。 我甚至尝试将用户和组更改为root和nginx来查看它是否有所作为,但是没有。 我一直得到403禁止 所以基本上我做了这个文件夹 $ mkdir -p /srv/www/test.com/public_html $ vi /srv/www/test.com/public_html/index.html $ vi /srv/www/test.com/public_html/test.php $ chmod -R 755 /srv/www/test.com/public_html 试图将用户和组更改为nginx $ chown -R nginx:nginx /srv/www configuration主要的conf文件 $ vi /etc/nginx/nginx.conf 这是我的configuration看起来像,包括被注释掉 user nginx; worker_processes 1; error_log /var/log/nginx/error.log; pid /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 […]
我有一个相当混乱的问题,只影响我的三个nginx反向代理服务器之一。 我用三个虚拟服务器定义了一个conf文件,如下所示: # Django upstream tickets { server 10.11.12.10; } server { listen 107.181.80.13:80; #listen 107.181.80.13:443 ssl; #ssl_certificate /etc/nginx/ssl/SL.AQTS.COM_SSL.crt; #ssl_certificate_key /etc/nginx/ssl/SL.AQTS.COM_SSL.key; server_name members.aqtsolutions.com; location / { proxy_pass http://tickets; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering 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; } } # WordPress (Linux) upstream […]
我在Vagrant中安装了一个新的CentOS 7服务器来运行PHP,nginx,MySQL(MariaDB)和memcached(注意在最后)。 我可以使memcached运行正常,但是我无法获得由PHP加载的Amazon Elasticache .so文件。 我知道文件存在。 我如何让PHP来加载这个扩展,或解决它为什么不会? 我已经按照说明在这里安装这个扩展: 安装用于PHP的ElastiCache集群客户端 如何解决PHP及其为什么不能加载扩展?
您好我正在设置一个简单的nginxconfiguration,我读你可以设置variablesset $variable content; 但到目前为止,我没有运气… 以下是我到目前为止/我想要达到的目标: server { ################################################## # Set variables set $port 80; # eg 80 or 443; set $domain domain.com *.domain.com; # eg www.domain.com or just domain.com set $subdomain false; # eg subdomain in subdomain.domain.com or false set type live; # live, dev or stage ################################################## # Include /web/sites configuration template include /etc/nginx/site-config-template; […]
我试图创build一个安全的node.js服务器没有websocket服务器在同一端口上。 端口是8080。 我可以访问浏览器中的URL,并且可以在指定端口时连接到WebSockets。 https://ws.site.com //工作 wss://ws.site.com //不要工作 wss://ws.site.com:8080 //工作 为什么是这样? 我究竟做错了什么? 这是nginxconfiguration upstream ws.site.com { server 127.0.0.1:8080; } server { listen 443; server_name ws.site.com; ssl on; ssl_certificate /path/ssl-bundle.crt; ssl_certificate_key /path/myserver.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location / { access_log off; proxy_pass https://ws.site.com; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 86400; proxy_http_version […]
首先,我是haproxy和nginx的新手。 我想知道是否有可能使用nginx或haproxy来接收所有ssh请求,并根据域名转发给两个不同的ssh deamons。 如果可能的话,哪一个是最好的工具,我将如何configuration该工具来做到这一点?
当一个服务器(nginx,apache)正在监听所有接口(0.0.0.0)时,当其中一个接口出现故障或被修改(可能改变IP地址)时会发生什么情况,如果服务器已经build立一个dynamic的DNS? 它是否必须重新启动?
为了帮助解释我的问题,让我创build一个类似的,但虚构的背景故事。 比方说,我有一个朋友,莎拉,通过networking摄像头让她生活。 假设这个收入来源支持莎拉4岁的丽莎。 我遇到了莎拉,因为她订了我一个自定义的成人摄像头网站。 她还把我介绍给了Lisa的幼儿园,他也订约我写他们的网站。 为了省钱,我通过Nginx使用相同的服务器托pipe这两个站点。 我兴奋地通知学校我在他们的网站上取得的所有进展! 我所不知道的是,我服务lisas-preschool.com节点进程已经closures。 经过一个尴尬的电话,我发现有时Nginx会为访问的网站提供错误的内容。 这显然不会发生,永远! 那么, 如何确保sarahs-site.com和lisas-preschool.com永远不会交叉? 作为参考,这里是网站的configuration: lisas-preschool.com: 这是一个node.js网站: upstream lisas_preschool { server 127.0.0.1:3000; } # HTTP Server server { listen 0.0.0.0:80; server_name www.lisas-preschool.com lisas-preschool.com; access_log /var/log/nginx/lisas-preschool.access; location / { proxy_pass http://lisas-preschool.com; proxy_http_version 1.1; proxy_redirect off; proxy_buffering 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; proxy_set_header Upgrade […]