我有一个公共分析 Web api (.Net Core 3.1),它可以从我的各种 Web 应用程序和网站(页面视图等)捕获基本分析。我非常希望以更严格的方式配置 cors,因为我很清楚流量的来源。值得注意的是,我正在将此应用程序从 更新.Net Core 2.2为.Net Core 3.1.
Startup.cs我的文件中有以下方法
public void ConfigureServices(IServiceCollection services)
{
...
ConfigureCors(services);
}
private void ConfigureCors(IServiceCollection services)
{
// https://weblog.west-wind.com/posts/2016/Sep/26/ASPNET-Core-and-CORS-Gotchas
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.WithOrigins(AppConfiguration.CorsOrigins)
.AllowAnyMethod()
.AllowAnyHeader());
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseCors("CorsPolicy");
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers().RequireAuthorization();
});
}
Run Code Online (Sandbox Code Playgroud)
AppConfiguration是我用来处理配置的类,它json使用以下方式获取值:
public string[] CorsOrigins => _config["CorsOrigins"].Split(',');
在 中appsettings.Development.json …
我已经通过 AWS ECR 将 Aurelia 应用程序部署到 AWS Elastic Beanstalk,但遇到了一些困难。docker 容器在本地运行时可以完美运行(Dockerfile 见下文)。
FROM nginx:1.15.8-alpine
COPY dist /usr/share/nginx/html
Run Code Online (Sandbox Code Playgroud)
部署工作得很好,但是当我导航到 AWS 提供的端点时,http://docker-tester.***.elasticbeanstalk.com/我得到了502 Bad Gateway
nginx/1.12.1.
我无法弄清楚可能是什么问题。有问题的 docker 容器是一个通过au new命令创建的简单 Hello World 示例;一点也不花哨。
下面是我的 Dockerrun.aws.json 文件
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "***.dkr.ecr.eu-central-1.amazonaws.com/tester:latest",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8080"
}
],
"Logging": "/var/log/nginx"
}
Run Code Online (Sandbox Code Playgroud)
我的 Elastic Beanstalk 配置很小,EC2 实例类型为t2.micro. 我正在使用免费套餐作为学习的机会。
我非常感谢任何帮助或指向正确方向的某些阅读的链接。
nginx amazon-web-services docker amazon-elastic-beanstalk aurelia
到目前为止的情况:
我有一个Strapi实例在默认端口 1337 上运行。DNS 已正确设置以将流量从 cms.mysite.com 导航到服务器的公共 IP 地址,并且 IIS 网站配置了反向代理将流量从 cms.mysite.com 引导到端口 1337。 Strapi 本身被指示通过计划任务和 cmd 命令启动服务器“开机”。我还设置了 SSL 证书,以便可以与https://cms.mysite.com进行安全通信。
问题:当我从服务器外部的浏览器
导航到https://cms.mysite.com时,我正确地获取了无头 CMS 的“主页”页面。
但是,如果我单击“打开管理”,则会遇到 CSP 错误
我确信我错过了一步。按照官方动手教程后,我没有具体配置任何内容。我觉得这与安全中间件有关,特别是与内容安全策略相关的安全标头,但很难确切地知道如何处理该config/middleware.js文件。
非常感谢您的一点帮助。
编辑:我觉得这实际上是一个反向代理问题,因为如果我将错误 https://localhost:1337/admin/project-type 中的 localhost 替换为https://cms.mysite.com/admin/project-type我得到有效的响应:

我有一个域名,我们称之为domain.com。
在我的 DNS 提供商上,我配置了两个子域以指向同一 IP 地址。例如:
sub1.domain.com=> 185.146.11.17
sub2.domain.com=>185.146.11.17
我在 IIS 中配置了两个站点,分别侦听端口 8080 和 8081。
现在,由于流量直接通过185.146.11.17:80,我需要根据请求的子域将其路由到端口8080或端口。8081
我已经阅读了有关重写规则和反向代理的内容,但对于如何根据请求的子域简单地实现我所需要的内容感到完全困惑。
如何解决这个问题呢?