如果我正在为 React 应用程序提供服务npm install -g serve; serve -s build,是否还可以使用位置代理?
例如:任何请求都https://example.com/api/*将被重定向到https://example.com:8000/api/*
我有一个L2TP服务器设置了docker-compose,而nginx将某些主机设置为主机名,但是当我尝试连接时,nginx正在读取原始IP,而不是通过VPN代理的IP.
Nginx显示x.x.x.x而不是192.168.x.xIP.
因此,403 (forbidden)当我尝试连接任何不允许的远程IP时,即使连接到VPN时,它也会给我一个错误,甚至当VPN给我一个类似的IP时192.168.43.12
当我尝试network_mode: hostVPN时,它根本无法路由任何网络流量.
泊坞窗,compose.yml:
services:
vpn:
image: hwdsl2/ipsec-vpn-server
restart: always
env_file:
- ../config/vpn/vpn.env
ports:
- "500:500/udp"
- "4500:4500/udp"
- "1701:1701/udp"
privileged: true
hostname: example.com
volumes:
- /lib/modules:/lib/modules:ro
nginx:
build: ../config/nginx
restart: unless-stopped
ports:
- "80:80"
network_mode: host
Run Code Online (Sandbox Code Playgroud)
nginx网站conf:
server {
listen *:80;
server_name bt.example.com;
index index.html;
access_log /dev/stdout upstreamlog;
error_log /dev/stderr debug;
location / {
allow 127.0.0.1;
allow 192.168.0.0/16;
#allow x.x.x.x; # one remote IP I want to …Run Code Online (Sandbox Code Playgroud) 有没有办法让 docker-compose 使用我在 yaml 中定义的确切卷名称,而不是在前面添加projectname_?
前任:
volumes:
postgres-data:
Run Code Online (Sandbox Code Playgroud)
将此卷显示为postgres-data而不是projectname_postgres-data。
我有一个 python 脚本,可以执行一些简单的 SQL。
c.execute("CREATE TABLE IF NOT EXISTS simpletable (id integer PRIMARY KEY, post_body text, post_id text, comment_id text, url text);")
command = "INSERT OR IGNORE INTO simpletable VALUES ('%s', '%s', '%s', '%s')" % (comments[-1].post_body, comments[-1].post_id, comments[-1].comment_id,
comments[-1].url)
c.execute(command)
c.commit()
Run Code Online (Sandbox Code Playgroud)
但是当我执行它时,我收到错误
sqlite3.OperationalError:表 simpletable 有 5 列,但提供了 4 个值
为什么它不自动填写密钥id?
我有一个用 Python 3 编写的脚本,在试验 GUI 时,我发现了一个我似乎喜欢的脚本 Kivy。每个人都说它适用于 Python 3,但每当我运行它时,它都会在 Python 2.7 中运行。我怎样才能
A:让 Kivy 完全在 Python 3 中运行
或者
B:强制我的 Kivy 应用程序调用的脚本在 Python 3 中运行。
我在 OS X 10.10 上安装了 python 3 和 2。
我刚试过
我的模块.py:
#!/usr/bin/env python3
import sys
def getVersion():
return sys.version_info
Run Code Online (Sandbox Code Playgroud)
在我运行kivy myapp.py它的地方,它会打印一个带有 getVersion() 作为该标签内容的标签。但这似乎仍然显示2.7。
我有一个Django项目,它将使用React作为前端。项目结构如下:
ProjectName/
??? api/
? ??? otherapp1/
? ??? otherapp2/
? ??? api/
? ??? views.py (will contain the method for loading react page)
? ??? settings.py
? ??? manage.py
??? frontend/
??? public/
??? index.html (react root page)
Run Code Online (Sandbox Code Playgroud)
如何使用Django加载index.html页面,以便可以使用django进行身份验证和cookie /会话管理?我不知道如何正确配置模板/模板目录,因为它在项目的django部分的根文件夹之外。
我正在使用的样板在这里
可能需要注意的是,由于这是一个docker项目,因此有3个容器。一种用于数据库,一种用于django,另一种用于前端。 BASE_DIR在我的Django项目中解析为/app/api。可能是我需要访问另一个容器中的目录,但是如果不能执行该操作,那么应该如何将Django链接到我的React应用程序?
我在 Django Rest Framework 中使用 Django JWT 身份验证。
检索令牌后,如何获取已登录用户的用户信息?
我按照本指南将 HDR 视频转换为 SDR,但是当我尝试运行实际转换视频(而不仅仅是单个帧)的命令时,出现错误。
命令:
ffmpeg -i hdr.mp4 -vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -c:v hevc -crf 18 -preset slower sdr.mp4
Run Code Online (Sandbox Code Playgroud)
当我运行时出现错误:
[AVFilterGraph @ 0x1c25380] 没有这样的过滤器:'zscale'14:32:22.77 比特率= -0.0kbits/s 速度=N/A
重新初始化过滤器时出错!
无法将帧注入过滤器网络:参数无效
处理流 #0:0 的解码数据时出错
[aac @ 0x172bcc0] Qavg:124.200
[aac @ 0x172bcc0] 关闭时队列中剩余 2 帧
转换失败!
我知道我可以将整个入口对象的 IP 列入白名单,但是有没有办法将单个路径的 IP 列入白名单?例如,如果我只想允许/admin从10.0.0.0/16?
ingress.yml:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: frontend
namespace: default
labels:
app: frontend
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: "letsencrypt-prod"
#nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/16"
spec:
tls:
- hosts:
- frontend.example.com
secretName: frontend-tls
rules:
- host: frontend.example.com
http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 80
- path: /api
backend:
serviceName: api
servicePort: 8000
- path: /admin
backend:
serviceName: api
servicePort: 8000
- path: /staticfiles
backend:
serviceName: api
servicePort: 80
Run Code Online (Sandbox Code Playgroud) 根据 NextJS 的文档,它默认会将任何以斜杠结尾的 URL 重写/为不带斜杠。
例如:localhost:3000/register/到localhost:3000/register。
这种行为对于应用程序本身来说很好,但我使用的外部 API 需要尾部斜杠。
我可以将其设置为重写为尾部斜杠,但这适用于所有端点,包括 Web 端点和 api 端点。
module.exports = {
trailingSlash: true,
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使其仅重写为某些路径的尾部斜杠?例如:重写以/api结尾斜杠开头的任何路径,同时保留应用程序的其余部分?