我有三个 windows box,它们以各种方式连接到我网络上的 linux box(一个是网络本地的,一个是笔记本电脑,可能是也可能不是本地的,另一个是我的工作台式机)。我目前正在使用 git 在盒子之间同步我的大部分东西(使用 Linux 盒子作为服务器)并且它像冠军一样工作。
但是,现在我还想添加我的 MP3 收藏(12 场),以便在盒子之间有效地同步。我最初认为我可以为此使用 git,但看起来 rsync 是更好的选择,因为我并不真正需要所有历史资料。由于我现有的所有管理脚本都在 git bash(而不是 cygwin)下运行,我希望能够从 git bash 使用它(MINGW32 是窗口标题栏中的内容)。我可以在 Cygwin 中下载它并复制它,还是有更好的方法来处理它?Linux 机器正在运行最新版本的 Ubuntu Server 版本 - 我是否需要对其进行任何操作才能使 rsync 正常工作?
我意识到我这样做的方式可能比需要的要困难一些,但我也将其用作提高我的命令行技能的练习。有什么建议?
我可以从 cygwin shell 使用 rsync,但不能从 msysgit 使用。我尝试将 rsync.exe 从 cygwin 的 bin 文件夹复制到 msysgit 的 bin 文件夹,但它仍然没有找到它。我还需要执行其他步骤才能在那里安装它吗?奇怪的是,我收到了一个找不到文件的错误,而不是给我一个文件的依赖项之一丢失的错误。
我偶然发现了一个httpd.conf我无法理解的指令:
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
Run Code Online (Sandbox Code Playgroud)
根据文档,我会说这Satisfy没有任何影响,因为没有Allow. 我错了吗?你认为这个指令有什么作用?
我想我已经排序了(主要是由于问题How to redirect non-www to www without hardcoding using .htaccess?),但我仍然不完全理解一些事情。
我想强制所有到我的服务器的非 SSL 连接都路由到 SSL。我只有一个虚拟主机(并且在服务器的生命周期内可靠地保持这种情况),但我想避免对域名进行硬编码,部分原因是httpd.conf为了暂存和生产的文件保持相同。
我知道我可以强制请求使用 SSL 和mod_rewrite类似的规则
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
或者
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
不过,我有两个相对简单的问题:
RewriteCond出于任何原因,我是否应该更喜欢这些陈述中的一个?据推测,如果我使用该%{SERVER_PORT}变量,任何连接,例如,端口 8000 将继续以明文方式提供服务?有什么原因我应该避免使用%{HTTPS}我忽略的变量吗?%{HTTP_HOST}中的该变量是否RewriteRule会受到尊重并自动替换Host:来自请求的任何标头?在某些情况下这可能不起作用吗?以防万一,我们在 RedHat 上运行 Apache 2,mod_ssl站点使用 Drupal 7。
对不起,这是一个相对愚蠢的问题;Apache 系统管理员绝不是我工作的核心部分,所以我正在尽我所能地努力解决。谢谢大家!
apache-2.2 ×2
conf ×1
cygwin ×1
deny ×1
git ×1
mod-rewrite ×1
mod-ssl ×1
rsync ×1
ubuntu ×1
windows ×1