Articles of Web服务器

在EFS Moodledata

我正在AWS上设置moodle。 我对将moodledata目录放在哪里感到困惑,因为我需要从多个EC2实例读取/写入这个目录。 我看到EFS是最好的select,但也读得很慢。 有更好的select吗?

aws ec2 public ip不能从某些互联网访问

我正在使用aws ec2 ubuntu 16.04,实例types为t2.micro。 但问题是,我无法访问某些Internetnetworking上的公共IP,如在我的办公室互联网networking,它是正常工作,但在我家的互联网networking,它不工作,但重点是在我家的互联网有三个设备连接(使用WiFi)两台笔记本电脑和一个移动(安卓)公共IP不能通过使用笔记本电脑,但它是在移动(取出SIM卡)工作。 在AWS安全组中 入站: HTTP TCP 80 0.0.0.0/0 HTTP TCP 80 ::/0 SSH TCP 22 0.0.0.0/0 在服务器上,当我使用这个netstat -ntlp | grep LISTEN netstat -ntlp | grep LISTEN显示 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1075/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1028/sshd tcp6 0 0 :::80 :::* LISTEN 1209/apache2 tcp6 0 0 :::22 :::* […]

Apache如何加载重复的configuration选项?

我在我的服务器上安装了Apache(由Elastic Beanstalk使用的AWS EC2实例)。 主要的configuration文件httpd.conf包含两个configuration属性: Timeout 60 KeepAliveTimeout 60 我需要更改这些参数,但是在每个应用程序部署完成后,这个主configuration文件会被覆盖。 因此,一段时间后我的任何更改都会丢失(然后会恢复默认值)。 我发现我可以添加另一个configuration文件,并把它放在conf.d目录下,这样Apache也会加载这个文件。 所以我想创build这样的文件(让我们说conf.d/custom.conf ),并把这两个参数,但改变了值: Timeout 180 KeepAliveTimeout 180 主httpd.conf文件也包含以下几行: Include conf.d/*.conf Include conf.d/elasticbeanstalk/*.conf 这些行放在Timeout和KeepAliveTimeout选项之后。 所以,问题是: 来自自定义conf文件的选项是否会覆盖主文件中的选项? 所以我想要Timeout=180 , KeepAliveTimeout=180 。

LAN上意外的HTTP会话劫持

我遇到了一个我开发的Web应用程序的问题,这个应用程序在多个“中心”由多个同时authentication的用户使用。 可能有20多个用户在“中心”login,而美国各地大约有100个中心。 我这样说是因为99%的“中心”没有问题。 然而,其中一个位置有一个明显的问题,即内部login用户正在获取服务的内容,该内容是去往该位置的其他login用户之一。 没有其他人报告过这个问题,尽pipe同时有六个其他中心login,唯一的“交换”发生在该中心的用户之间。 基本上一切都指向该位置的networking/ PCconfiguration是一个问题。 我确实知道他们使用Citrix Provisioning Service,他们的技术人员并不是最懂技术的人。 Web应用程序是一个nginx-Tomcat-Lucee应用程序,它使用会话Cookie进行会话持久性。 我试图弄清楚的是,这些会话cookie显然是如何被发送到不同的电脑在只有一个位置?! 如果两台PCconfiguration了相同的MAC地址,那么由此产生的路由不明确性是否可能将相同的响应(会话Cookie)发送给2台独立的PC? 如果他们有一个caching会话cookie的本地错误configuration的caching代理,这个cookie是否有可能以这种方式发送给多台PC? 任何想法如何解决这个问题,以确定原因? 这个位置是相信,问题是与应用程序,而不是他们的networking/个人电脑,所以他们不愿意做太多的帮助排除故障。

如何根据用户代理和位置在uwsgi_pass和try_file之间进行select?

当像GoogleBot这样的机器人请求时,如何将nginxconfiguration为使用uwsgi_pass ,并且path的文件扩展名不存在给定范围或try_file否则?

Apache虚拟主机不匹配子域

我有在AWS EC2上运行的apache。 我已经将我的域名指向Amazon Route 53进行DNSpipe理,并为主域名(www.domain.co.uk)和一个子域名(api.domain.co.uk)创build了Alogging,这两个logging都指向我的公有IP EC2实例。 我创build了一个虚拟主机configuration来尝试将www和api指向不同的文件夹 – <VirtualHost *:80> ServerName www.domain.co.uk ServerAlias domain.co.uk DocumentRoot /var/www/html/www <Directory /var/www/html/www> AllowOverride All </Directory> </VirtualHost> <VirtualHost *:80> ServerName api.domain.co.uk ServerAlias api.domain.co.uk DocumentRoot /var/www/html/api <Directory /var/www/html/api> AllowOverride All </Directory> </VirtualHost> <VirtualHost *:80> ServerName default:80 DocumentRoot /var/www/html </VirtualHost> 当我在浏览器中访问www.domain.co.uk时,它提供了正确的内容。 但是,当我访问api.domain.co.uk它返回的内容从www.domain.co.uk 。 我已经在虚拟主机文件和ServerName和ServerAlias不同变体中尝试了不同的序列,但是它始终返回文件中的第一个条目(将api条目切换到顶部将返回两个url的api内容)。 任何build议将不胜感激!

Aws Redis集群会话pipe理不起作用

我们在aws ELB中使用nginx运行php7,并在AWS集群redis中处理会话,但是会话没有存储在AWS redis集群中。有时可以使用,但大部分时间不起作用。 在php.ini中已更改为session.save_handler = redis和session.save_path =“tcp:// redis configuration endpoint:6379” 请在此帮助。

EC2实例终止删除EFS卷文件夹

我有一个WordPress站点的Elastic Beanstalk环境,configuration为使用上传文件夹的EFS卷,挂载并链接到实例创build(按照本指南进行设置)。 但是,当实例向上/向下扩展时,它会以某种方式删除EFS卷上的上传文件夹,这使我可以恢复预先制作的备份( 这个 – 未答复 -似乎是相关的)。 我的efs.config文件如下所示: packages: yum: nfs-utils: [] jq: [] files: "/tmp/mount-efs.sh" : mode: "000755" content: | #!/usr/bin/env bash mkdir -p /mnt/efs EFS_NAME=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_NAME') mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $EFS_NAME:/ /mnt/efs || true mkdir -p /mnt/efs/uploads chown webapp:webapp /mnt/efs/uploads commands: 01_mount: command: "/tmp/mount-efs.sh" container_commands: 00-mv-wp-content-uploads: command: rsync […]

通过AWS CLI部署新版本所需的ElasticBeanstalk权限

我有一个IAM策略设置,我认为它提供了将新版本部署到Elastic Beanstalk应用程序的正确权限。 我仍然得到InsufficientPrivilegesException ,特别是: aws elasticbeanstalk update-environment –environment-name LearnTfsBff –version-label LearnTfsBff-30 调用UpdateEnvironment操作时发生错误(InsufficientPrivilegesException):访问被拒绝 这是为部署用户设置的策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:*", "cloudformation:GetTemplate", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "autoscaling:*", "cloudfront:CreateInvalidation", "ec2:describeVpcs", "ec2:DescribeImages", "elasticbeanstalk:CreateApplicationVersion", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeApplicationVersions", "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:UpdateEnvironment", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "s3:ListAllMyBuckets", ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::learn-tfs-builds" }, […]

ASP.NET禁用AWS IAMangular色

我启动了一个新的Windows Server 2016 EC2实例,并分配了S3完全pipe理IAMangular色。 我在EC2上安装了CLI。 我可以做“ aws s3 ls ”而不指定凭证。 都好。 但是,一旦我到服务器pipe理器,“添加angular色或function”,并启用ASP.NET,.NET 4.6和其他function需要在此服务器上运行ASP.NET MVC ,S3完整pipe理IAMangular色将停止运行。 如果我要“运行s3 ls ”,如果要求我运行configure并提供AWS凭据。 有趣的是,即使我卸载了所有ASP.NET和.NET 4.6以及我安装的所有其他function,并重新启动了实例,但IAMangular色仍然不起作用。 东西已经被永久损坏了。 有谁知道发生了什么? 哪个IISfunction导致IAMangular色停止工作?