我进行了大量搜索,但似乎关于别名 IP 地址的正确网络掩码应该是什么的信息存在冲突。一些相互矛盾的信息似乎是 FreeBSD 特有的。我正在寻找“技术上最合适”的答案,如果有的话。
我被分配了 xxx168/29。
这是eth0:
address x.x.x.170
netmask 255.255.255.248
gateway x.x.x.169
Run Code Online (Sandbox Code Playgroud)
所以正确的eth0:0网络掩码应该是255.255.255.something.
编辑:根据 Chris S 的评论,我没有使用 FreeBSD;我正在使用 Debian。我的理解是 FreeBSD 用户应该使用 .255 作为别名。但我可能是错的,所以你应该做你自己的研究。
我正在尝试编写一个脚本来为我的 bash shell 设置别名,但我不想source自动输入.bashrc- 我需要在我的终端子集中使用别名。
是否可以alias在脚本中使用命令并使别名命令适用于运行脚本的 shell?
期望的功能:
$ alias
# ... no output here
$ ./my-script
$ alias
alias foo='bar'
alias alpha='beta'
...
Run Code Online (Sandbox Code Playgroud) 在我的 nginx 配置文件之一中sites-available,我可以指定服务器名称别名,如下所示:
server_name example.com www.example.com;
Run Code Online (Sandbox Code Playgroud)
如果我有一个 Apache 服务器,我可以使用ServerName和执行类似的操作ServerAlias:
ServerName example.com
ServerAlias www.example.com
Run Code Online (Sandbox Code Playgroud)
我还在CNAME我的区域文件中指定了一条记录:
www.example.com. 1800 IN CNAME example.com.
Run Code Online (Sandbox Code Playgroud)
我想要www.example.com并example.com提供相同的内容。由于我有CNAME记录,无论如何www.example.com都会指向所有example.com记录,因此不需要别名。争论也可以反过来说CNAME不需要记录。
我的 Web 服务器(nginx 或 Apache)中的别名和 CNAME 记录是否多余?如果是这样,我应该摆脱其中一个吗?如果有,是哪一个?
我的目标是让 Laravel 安装与生成为静态内容的 Nuxt 应用程序一起运行。
我希望 Laravel 可用,当位置以/api. 这按预期工作。
对于任何其他请求,我希望 Nginx 为我提供另一个文件夹中的静态内容。
我可以通过更改第 18 行 ( ) 处的文档根root /var/www/html/public/dist;并将以下try_files配置更改为下面的配置中的内容来实现此目的。
我尝试换成root其他alias的,这给了我一些奇怪的结果。我从 Nginx 收到 500 服务器响应,错误日志中包含以下输出:
2020/09/29 13:28:17 [error] 7#7: *3 rewrite or internal redirection cycle while internally redirecting to "/index.html", client: 172.21.0.1, server: _, request: "GET /my/fake/url HTTP/1.1", host: "localhost"
172.21.0.1 - - [29/Sep/2020:13:28:17 +0000] "GET /claims/creat HTTP/1.1" 500 580 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like …Run Code Online (Sandbox Code Playgroud) 我有一个别名
alias tdA='todo -a'
Run Code Online (Sandbox Code Playgroud)
我在 Zsh 中得到以下信息
tdA
zsh: correct 'tdA' to 'tda' [nyae]?
Run Code Online (Sandbox Code Playgroud)
如何让 Zsh 不建议修复别名?
我希望 example.com 和 *.example.com 始终解析为 www.example.com
因此,如果我将 DNS 记录设置为:
www A server ip
(root) CNAME www.example.com
* CNAME www.example.com
Run Code Online (Sandbox Code Playgroud)
这些是实现这一目标的正确设置吗?
如果是这样,是否有任何搜索引擎问题?我不希望任何搜索机器人认为我在为不同的子域提供相同的内容或类似内容。
谢谢!
来自关于虚拟主机主题的 FreeBSD 手册:
对于给定的接口,必须有一个地址正确表示网络的网络掩码。属于该网络的任何其他地址必须具有全 1 的网络掩码(表示为 255.255.255.255 或 0xffffffff)。
谁能解释为什么会这样?
我有一个虚拟主机在我的本地 Apache 副本上运行。它有一个别名。
<VirtualHost 127.0.0.1>
ServerName oliverash.me.dev
DocumentRoot "/usr/docs/oliverash.me/public"
Alias /mayor "/usr/docs/uni/tmosct/public"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这工作正常。我可以通过oliverash.me.dev/mayor在浏览器中访问来访问别名。但是,我.htaccess rewrite在那个别名的文件夹中有一个简单的,它将所有内容(文件夹除外)重写到 index.php 页面。此重写工作正常。
尽管重写正在工作,但重写返回 404 Not Found 错误。例如,如果我转到oliverash.me.dev/mayor/abcdefg,它会重写index.php文件,但我收到此错误:
“在此服务器上找不到请求的 URL /usr/docs/uni/tmosct/public/index.php。”
这个文件确实存在。我可以直接访问它。
当我使用相同的别名但localhost不仅仅是这个虚拟主机时,重写工作正常,index.php 返回实际文件,而不是 404。这让我觉得这与我的权限有关虚拟主机。所以我试图在我的下面添加这个httpd-vhosts.conf(没有运气):
<Directory "/usr/docs/oliverash.me/public">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
这些是在localhost's上使用的相同设置DocumentRoot,所以我不明白为什么它没有帮助。
更新:
所以我检查了Apache error_log。事实证明,这个别名的重写实际上是相对于这个虚拟主机的文档根目录的。
[Fri Jan 06 22:30:57 2012] [error] [client 127.0.0.1] File does not exist: /usr/docs/oliverash.me.dev/usr
这个重写实际上是在/usr/docs/oliverash.me.dev/public/usr/docs/uni/tmosct/public寻找 index.php。希望很明显,它应该在寻找/usr/docs/oliverash.me.dev。
更新 2: …
我有一个接受来自任何域的电子邮件的邮件服务器。这是通过在 Postfix's 中使用以下行来完成的main.cf:
mydestination = regexp:/etc/postfix/mydestinations.reg
Run Code Online (Sandbox Code Playgroud)
和mydestinations.reg看起来像这样:
/^.*/ OK
Run Code Online (Sandbox Code Playgroud)
现在,我想将电子邮件转发给特定用户(例如 to admin)到外部电子邮件地址。我添加了以下行/etc/aliases
admin: email@externaldomain.com
Run Code Online (Sandbox Code Playgroud)
运行后newaliases向admin规则发送电子邮件,但 Postfix 尝试在本地而不是远程发送电子邮件。这会导致 Postfix 日志中出现以下错误消息:
status=bounced (unknown user: "email")
Run Code Online (Sandbox Code Playgroud)
我的猜测是,Postfix 假定它externaldomain.com在其目的地,因为它被配置为接受任何域。
现在我的问题是:如何告诉 Postfix 将电子邮件转发到外部域,同时保持笼统mydestination完好无损?
旁注:如果可能,我想避免使用虚拟别名。
可能的重复:
在 DNS 中查询服务器的 CNAME
我有一个有趣的问题,给定一个 FQDN,如何在无法访问 DNS 文件或无法列出域(区域)的情况下找到其所有别名?
该问题仅限于单个域中的所有别名。
alias ×10
cname-record ×3
apache-2.2 ×2
nginx ×2
.htaccess ×1
a-record ×1
bash ×1
documentroot ×1
freebsd ×1
interface ×1
ip ×1
mod-rewrite ×1
netmask ×1
networking ×1
postfix ×1
virtualhost ×1
wildcard ×1
zsh ×1