在 64位版本的 CentOS 5.4 上使用 yum 安装软件包的时候如果不小心的话会同时安装 i386 和 x86_64 版本的软件
同时安装32位和64位版本的软件虽然不是什么错,也不会对系统造成什么问题,但是这样会浪费硬盘空间,而且显得系统臃肿、不干净。如果想要保持一个纯的64位系统、在64位 CentOS 上避免安装32位软件包的话很容易,只需要在 yum.conf 加上一行过滤掉 i386, i686 的软件包就可以了:
来源:http://www.21andy.com/blog/20100223/1710.html
同时安装32位和64位版本的软件虽然不是什么错,也不会对系统造成什么问题,但是这样会浪费硬盘空间,而且显得系统臃肿、不干净。如果想要保持一个纯的64位系统、在64位 CentOS 上避免安装32位软件包的话很容易,只需要在 yum.conf 加上一行过滤掉 i386, i686 的软件包就可以了:
# vi /etc/yum.conf
[main]
...
exclude=*.i386 *.i686
[main]
...
exclude=*.i386 *.i686
来源:http://www.21andy.com/blog/20100223/1710.html
<!--#include file="header.stml" -->
建网站有好多时候在每一个网页都要使用同一的重复的地方!
如每页的导航条、版权信息等!
这些修改时都是要统一修改的…而如果照每页每页的修改的话简直是...
而这些在asp 以及cgi php等中可以使用include、require 等之类的调用。
而绝大多数不支持程序的HTML静态空间或者大家不会编程的怎么办……
呵现在就告诉大家一条在html网页中也可以实用文件调用的超级简短代码…
<!--webbot bot="Include" U-Include="../文件名.htm" TAG="BODY" -->
呵…快适用到你的网页中吧!!让你的网站建起来更快更容易!!
而且而且这条代码可以远程调用噢!!!即如
http://www.id-cc.com之类的调用耶!!!
很多网站采用Shtml页面include外部文件
EG:
index.shtml页面代码
<!--#include file="top.htm"-->
top.htm页面代码
<div style="background:#FF0000;"><h1>静态页面也可以包含文件</h1></div>
今天在练习初级编程时遇到了这样的问题:
Makefile:2: *** 遗漏分隔符 。 停止。
我不明白,但是在网上搜索时发现很多类似的问题,其中http://blog.csdn.net/xiejianjun417/archive/2009/04/10/4063042.aspxhttp://blog.csdn.net/xiejianjun417/archive/2009/04/10/4063042.aspx作者题出了解决知道,即:
gcc前一定要有一个tab分隔符,不能有空格;否则会出现“makefile:2: *** 遗漏分隔符 。 停止。”问题
make中规定每一Shell命令之前的开头必须使用<tab>字符
小弟的脚本是:
hello:hello.c -o hello.h
Gcc hello.c -o hello
所以Gcc之前一定是Tab 键,而不是空格键。
同时,还有一个问题就是Gcc,ubuntun中似乎要将Gcc小写,否则会出错的。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangzhanwenzzzzzz/archive/2010/01/14/5189007.aspx
Makefile:2: *** 遗漏分隔符 。 停止。
我不明白,但是在网上搜索时发现很多类似的问题,其中http://blog.csdn.net/xiejianjun417/archive/2009/04/10/4063042.aspxhttp://blog.csdn.net/xiejianjun417/archive/2009/04/10/4063042.aspx作者题出了解决知道,即:
gcc前一定要有一个tab分隔符,不能有空格;否则会出现“makefile:2: *** 遗漏分隔符 。 停止。”问题
make中规定每一Shell命令之前的开头必须使用<tab>字符
小弟的脚本是:
hello:hello.c -o hello.h
Gcc hello.c -o hello
所以Gcc之前一定是Tab 键,而不是空格键。
同时,还有一个问题就是Gcc,ubuntun中似乎要将Gcc小写,否则会出错的。
最关键的是我的vim设置一个tab不是一个真正的tag,然后老有问题,哈哈,这个一定得注意喔,我在EditPlus上修改了tab后,rz上去ok了!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangzhanwenzzzzzz/archive/2010/01/14/5189007.aspx
yum install lrzsz
本文是记录lrzsz的安装过程
1、从下面的网站下载 lrzsz-1.12.20.tar.gz
http://www.filewatcher.com/m/lrzsz-0.12.20.tar.gz.280938.0.0.html
2、查看里面的INSTALL文档了解安装参数说明和细节
3、解压文件
tar zxvf lrzsz-1.12.20.tar.gz
4、进入目录
cd lrzsz-1.12.20
5、./configure --prefix=/usr/local/lrzsz
6、make
7、make install
8、建立软链接
#cd /usr/bin
#ln -s /usr/local/lrzsz/bin/lrz rz
#ln -s /usr/local/lrzsz/bin/lsz sz
9、测试
运行 rz 弹出SecureCRT上传窗口
-----------------------------------------------------------------------------
上面找了一圈都没有发现suse的,要不就是freebsd,sun,或者gentoo Linux的,在suse光盘符里面找了一圈,发现:
rzsz-0.12.20-978.1.i586.rpm
哈哈,那就好说了:
rpm -ihv rzsz-0.12.20-978.1.i586.rpm
来源:http://blog.csdn.net/teamlet/archive/2008/01/26/2067348.aspx
1、SuSE Linux下启动sshd:
命令行:rcsshd start
YaST:找不到sshd,但是打开全部inetd服务,ssh就可用了,奇!
待我发现机关,再改此文。
2、配置SSH服务:
1. 修改配置文件
#vi /etc/ssh/sshd_config
2. 找到#PermitRootLogin no将其修改为PermitRootLogin yes
前晚装了这个版本,感觉它的gome桌面比Ubuntu8和Fedora版本都要好看。呵呵,其实大家都用一样的东西。
这次在SUSE上使用SSH时遇到点麻烦,所以总结一下小经验。SSH,即SecureShell,是一种网络协议,允许在两台计算机之间建立一条安全通道以交换数据。
一般Linux发行版本,例如Ubuntu和SUSE,都默认安装了OpenSSH工具包。完成系统安装,重新启动后,作为服务端的 sshd(SSHDaemon)会作为系统服务之一被启动(注:daemon解释为守护进程)。同时一个SSH工具也安装好了,openSSH程序包的一部分,是远程登录客户端程序。默认安装路径:
ssh-/usr/bin/ssh对应的配置文件/etc/ssh/ssh_config
sshd-/usr/sbin/sshd对应的配置文件/etc/ssh/sshd_config
我只想使用密码登录方式,所以修改了/etc/ssh/sshd_config文件的PasswordAuthentication参数,该参数默认为 no,意思是不允许通过密码认证登录;所以这里改为yes。默认下/etc/ssh/ssh_config也有这个参数,默认是yes,所以不用修改。修改参数后,在命令行输入sshrestart后重新启动sshd服务。
这次碰到的问题是,在SUSE登录后,在命令界面使用ssh192.168.2.101能正常登录,但是在另一台Windows系统上面用putty登录时却显示连接超时,登录失败!putty这边设置没有问题,那么问题可能出在SUSE系统本身或者两台电脑之间的通信。
使用yast查看sshd服务的状态,在命令行输入yast回车,启动yast界面,选择 “System>SystemServices(Runlevel)”,打开SystemServices(Runlevel):Services 界面,检查sshd状态已经是Enabled。使用功能键Alt E转到ExpertMode,观察到当前sshd运行在Runlevel5, (Fullmultiuserwithnetworkanddisplaymanager),这都没有问题。
到网上查查,最后在一个论坛里有人提到检查firewall,需要关闭firework。于是选择在yast中选择“SecurityandUsers>Firewall”,在Firewallconfiguration界面将ServiceStart启动方式修改为Manually,然后执行 “StopFirewallNow”,保存修改!
重新启动sshd,再到Windows下试试,一切正常
命令行:rcsshd start
YaST:找不到sshd,但是打开全部inetd服务,ssh就可用了,奇!
待我发现机关,再改此文。
2、配置SSH服务:
1. 修改配置文件
#vi /etc/ssh/sshd_config
2. 找到#PermitRootLogin no将其修改为PermitRootLogin yes
前晚装了这个版本,感觉它的gome桌面比Ubuntu8和Fedora版本都要好看。呵呵,其实大家都用一样的东西。
这次在SUSE上使用SSH时遇到点麻烦,所以总结一下小经验。SSH,即SecureShell,是一种网络协议,允许在两台计算机之间建立一条安全通道以交换数据。
一般Linux发行版本,例如Ubuntu和SUSE,都默认安装了OpenSSH工具包。完成系统安装,重新启动后,作为服务端的 sshd(SSHDaemon)会作为系统服务之一被启动(注:daemon解释为守护进程)。同时一个SSH工具也安装好了,openSSH程序包的一部分,是远程登录客户端程序。默认安装路径:
ssh-/usr/bin/ssh对应的配置文件/etc/ssh/ssh_config
sshd-/usr/sbin/sshd对应的配置文件/etc/ssh/sshd_config
我只想使用密码登录方式,所以修改了/etc/ssh/sshd_config文件的PasswordAuthentication参数,该参数默认为 no,意思是不允许通过密码认证登录;所以这里改为yes。默认下/etc/ssh/ssh_config也有这个参数,默认是yes,所以不用修改。修改参数后,在命令行输入sshrestart后重新启动sshd服务。
这次碰到的问题是,在SUSE登录后,在命令界面使用ssh192.168.2.101能正常登录,但是在另一台Windows系统上面用putty登录时却显示连接超时,登录失败!putty这边设置没有问题,那么问题可能出在SUSE系统本身或者两台电脑之间的通信。
使用yast查看sshd服务的状态,在命令行输入yast回车,启动yast界面,选择 “System>SystemServices(Runlevel)”,打开SystemServices(Runlevel):Services 界面,检查sshd状态已经是Enabled。使用功能键Alt E转到ExpertMode,观察到当前sshd运行在Runlevel5, (Fullmultiuserwithnetworkanddisplaymanager),这都没有问题。
到网上查查,最后在一个论坛里有人提到检查firewall,需要关闭firework。于是选择在yast中选择“SecurityandUsers>Firewall”,在Firewallconfiguration界面将ServiceStart启动方式修改为Manually,然后执行 “StopFirewallNow”,保存修改!
重新启动sshd,再到Windows下试试,一切正常
yum install strace
strace -f -p 9887
Ok的示例:
SUSE刚装完,开始用ssh的时候,总会遇到这样的问题:输入了用户名以后,等半天才出输入密码的框,很是急人。这是dns反查造成的。
解决方法:编辑 /etc/ssh/sshd_conf , 将 #UseDNS yes 取消注释,设为no ,重启sshd
( /etc/rc.d/sshd restart)
UseDNS no //这儿不能写为:No,大写,会出错的
然后:
/etc/rc.d/sshd restart
用户第一次链接新的sshd时,可能出现下面这种错误:
> ssh wcw@192.168.1.100
Host key not found from database.
Key fingerprint:
xofiz-zilip-tokar-rupyb-tufer-tahyc-sibah-kyvuf-palik-hazyt-duxux
You can get a public key's fingerprint by running
% ssh-keygen -F publickey.pub
on the keyfile.
warning: tcsetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1: Interrupted system call
解决办法是用:
strace -o t ssh wcw@192.168.1.100
也就是前面加上“strace -o t”,-o的意思如下:
-o file -- send trace output to FILE instead of stderr
这样就可以成功登录,然后退出后用正常的登录办法即可。前面生成的文件t也可以删掉了。
为什么加上strace就可以,具体是什么道理也没搞明白。该方法是google来的,具体链接已经找不到了。。。
Host key not found from database.
Key fingerprint:
xuror-ledab-buhim-zohok-tanop-cyrig-tysac-gyhyp-refan-semim-pyxex
You can get a public key's fingerprint by running
% ssh-keygen -F publickey.pub
on the keyfile.
Are you sure you want to continue connecting (yes/no)?
好像用这个也成:
原因:
strace就是用来跟踪系统跳用和信号的。
这应该是ssh的bug。如果用strace调试的话,这个工具可以影响到信号处理,估计这样一搞就能让你有机会完成getkey之类的动作。
然后,下次再运行的时候本地也就会有正确的配置了。
深层分析:
首先要开ssh服务,查看一下。。
root@unbuntu:/etc# ps -ef |grep ssh
root 3996 1 0 13:51 ? 00:00:00 /usr/sbin/sshd
root 4463 3996 0 15:04 ? 00:00:00 sshd: nova [priv]
sshd 4464 4463 0 15:04 ? 00:00:00 sshd: nova [net]
root 4466 4310 0 15:04 pts/1 00:00:00 grep ssh
root@unbuntu:/etc# strace -p 4464
Process 4464 attached – interrupt to quit
select(4, [3], NULL, NULL, NULL) = 1 (in [3])
read(3, “\210\270\232z-\231lh,\341_\377\351\22X.tNVHFw\25=\310\235″…, 8192) = 144
write(4, “\0\0\0\17\v”, 5) = 5
write(4, “\0\0\0\nnovaserver “, 14) = 14
read(4, “\0\0\0\5″, 4) = 4
read(4, “\f\0\0\0\1″, 5) = 5
write(4, “\0\0\0\0011″, 5) = 5
read(4, “\0\0\0\t”, 4) = 4
read(4, “2\0\0\0\1\0\0\0\0″, 9) = 9
write(3, “\243\273r<\267\245F\374\201H(|~>f\36\337\306\367\341\374″…, 32) = 32
write(4, “\0\0\5/\31″, 5) = 5
write(4, “\0\0\0 \206\347\3\357\16\223\315\23_\267;\32\231\325\263″…, 1326) = 1326
exit_group(0) = ?
Process 4464 detached
上面解析到的就是我的ssh服务的密码,对应的用户是nova… [好害怕...]
上面这些需要开一个ssh的client来验证…
nova@unbuntu:~$ ssh 192.168.150.244 [回车]
nova@192.168.150.244’s password: [确认对端已经监听,解析 strace -p pid ]
Linux unbuntu 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Mon Nov 24 15:02:44 2008 from 192.168.150.244
nova@unbuntu:~$
剩下的,你就可以看你的密码了,其实还有别的工具,truss…
CentOs5.5实际简单示例:
来源:http://www.cublog.cn/u1/37472/showart_2474076.html
来源:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246000135a3ba26231503d3c3777a52ef1806b1b4616f370122bc86ca8357deb18f2e288c2230751e9141658058ed8152609c60c655fede6ef0c98325e2ddc5a3df4322cb44757c97f1fb1b414edd6e800341e4b1e84d022e10ad9d4172fe296058ec3433b35089e225187696f7ad4b3cc43da31106e6dc22c13b05b463e5595b7715f75bb078465030f73f57e8454d13e39f4a962a6e4153a138c4aeb0c0fc38ffcb9b308ffbbbb85e967797b5&p=882a9645818101fe44b4c771094d&user=baidu&fm=sc&query=%CE%AA%CA%B2%C3%B4ssh%B5%C7%C2%BC%CA%A7%B0%DC%B5%AB%CA%C7strace%D2%BB%CF%C2%BE%CD%BA%C3%C1%CB%3F&qid=e6aba9d200d6419d&p1=4
strace -f -p 9887
Ok的示例:
SUSE刚装完,开始用ssh的时候,总会遇到这样的问题:输入了用户名以后,等半天才出输入密码的框,很是急人。这是dns反查造成的。
解决方法:编辑 /etc/ssh/sshd_conf , 将 #UseDNS yes 取消注释,设为no ,重启sshd
( /etc/rc.d/sshd restart)
UseDNS no //这儿不能写为:No,大写,会出错的
然后:
/etc/rc.d/sshd restart
用户第一次链接新的sshd时,可能出现下面这种错误:
> ssh wcw@192.168.1.100
Host key not found from database.
Key fingerprint:
xofiz-zilip-tokar-rupyb-tufer-tahyc-sibah-kyvuf-palik-hazyt-duxux
You can get a public key's fingerprint by running
% ssh-keygen -F publickey.pub
on the keyfile.
warning: tcsetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1: Interrupted system call
解决办法是用:
strace -o t ssh wcw@192.168.1.100
也就是前面加上“strace -o t”,-o的意思如下:
-o file -- send trace output to FILE instead of stderr
这样就可以成功登录,然后退出后用正常的登录办法即可。前面生成的文件t也可以删掉了。
为什么加上strace就可以,具体是什么道理也没搞明白。该方法是google来的,具体链接已经找不到了。。。
Host key not found from database.
Key fingerprint:
xuror-ledab-buhim-zohok-tanop-cyrig-tysac-gyhyp-refan-semim-pyxex
You can get a public key's fingerprint by running
% ssh-keygen -F publickey.pub
on the keyfile.
Are you sure you want to continue connecting (yes/no)?
好像用这个也成:
原因:
strace就是用来跟踪系统跳用和信号的。
这应该是ssh的bug。如果用strace调试的话,这个工具可以影响到信号处理,估计这样一搞就能让你有机会完成getkey之类的动作。
然后,下次再运行的时候本地也就会有正确的配置了。
深层分析:
首先要开ssh服务,查看一下。。
root@unbuntu:/etc# ps -ef |grep ssh
root 3996 1 0 13:51 ? 00:00:00 /usr/sbin/sshd
root 4463 3996 0 15:04 ? 00:00:00 sshd: nova [priv]
sshd 4464 4463 0 15:04 ? 00:00:00 sshd: nova [net]
root 4466 4310 0 15:04 pts/1 00:00:00 grep ssh
root@unbuntu:/etc# strace -p 4464
Process 4464 attached – interrupt to quit
select(4, [3], NULL, NULL, NULL) = 1 (in [3])
read(3, “\210\270\232z-\231lh,\341_\377\351\22X.tNVHFw\25=\310\235″…, 8192) = 144
write(4, “\0\0\0\17\v”, 5) = 5
write(4, “\0\0\0\nnovaserver “, 14) = 14
read(4, “\0\0\0\5″, 4) = 4
read(4, “\f\0\0\0\1″, 5) = 5
write(4, “\0\0\0\0011″, 5) = 5
read(4, “\0\0\0\t”, 4) = 4
read(4, “2\0\0\0\1\0\0\0\0″, 9) = 9
write(3, “\243\273r<\267\245F\374\201H(|~>f\36\337\306\367\341\374″…, 32) = 32
write(4, “\0\0\5/\31″, 5) = 5
write(4, “\0\0\0 \206\347\3\357\16\223\315\23_\267;\32\231\325\263″…, 1326) = 1326
exit_group(0) = ?
Process 4464 detached
上面解析到的就是我的ssh服务的密码,对应的用户是nova… [好害怕...]
上面这些需要开一个ssh的client来验证…
nova@unbuntu:~$ ssh 192.168.150.244 [回车]
nova@192.168.150.244’s password: [确认对端已经监听,解析 strace -p pid ]
Linux unbuntu 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Mon Nov 24 15:02:44 2008 from 192.168.150.244
nova@unbuntu:~$
剩下的,你就可以看你的密码了,其实还有别的工具,truss…
CentOs5.5实际简单示例:
来源:http://www.cublog.cn/u1/37472/showart_2474076.html
来源:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246000135a3ba26231503d3c3777a52ef1806b1b4616f370122bc86ca8357deb18f2e288c2230751e9141658058ed8152609c60c655fede6ef0c98325e2ddc5a3df4322cb44757c97f1fb1b414edd6e800341e4b1e84d022e10ad9d4172fe296058ec3433b35089e225187696f7ad4b3cc43da31106e6dc22c13b05b463e5595b7715f75bb078465030f73f57e8454d13e39f4a962a6e4153a138c4aeb0c0fc38ffcb9b308ffbbbb85e967797b5&p=882a9645818101fe44b4c771094d&user=baidu&fm=sc&query=%CE%AA%CA%B2%C3%B4ssh%B5%C7%C2%BC%CA%A7%B0%DC%B5%AB%CA%C7strace%D2%BB%CF%C2%BE%CD%BA%C3%C1%CB%3F&qid=e6aba9d200d6419d&p1=4
The program 'g++' can be found in the following package:
* gcc-c++ [ path: /usr/bin/g++, repository: zypp (openSUSE 11.2-0) ]
Try installing with:
sudo zypper install gcc-c++
先su 用户:zypper,如下:
sudo zypper
sudo zypper install gcc-c++
* gcc-c++ [ path: /usr/bin/g++, repository: zypp (openSUSE 11.2-0) ]
Try installing with:
sudo zypper install gcc-c++
先su 用户:zypper,如下:
sudo zypper
sudo zypper install gcc-c++
在运行里输入 msconfig 打开系统配置,点击引导,点击高级选项;看到最大内存没有勾上的就勾一下,随即出现了最大内存,点确定后重启系统!
不行的话建议用优化大师检测一下!
4G内存到底用32位还是64位Windows7 性能实测得出:
总结:
从测试来看,虽然64位Windows7可以完美支持4GB容量内存,但是成绩和32位Windows7并没有多大变化,而且在PCMark vantage的内存测试中还落后于32位Windows7。
64位系统的两大优点:1、可以进行更大范围的整数运算;2、可以支持更大的内存。但是不能简单的认为64处理器的性能是32处理器性能的两倍。实际上在32位应用下性能甚至会更强。
不行的话建议用优化大师检测一下!
4G内存到底用32位还是64位Windows7 性能实测得出:
总结:
从测试来看,虽然64位Windows7可以完美支持4GB容量内存,但是成绩和32位Windows7并没有多大变化,而且在PCMark vantage的内存测试中还落后于32位Windows7。
64位系统的两大优点:1、可以进行更大范围的整数运算;2、可以支持更大的内存。但是不能简单的认为64处理器的性能是32处理器性能的两倍。实际上在32位应用下性能甚至会更强。
XP 深度9.2很受欢迎啊,呵呵,尽管深度只承认9.0版本,值得思考ing。。。
正向的无非是用户是清楚知道自己是通过代理服务器去请求目标服务器的。而反向代理则是目标服务器供应商的配置实现,用户是不会知道请求的资源其实并非真实的终极目标。简单说明一下就好,我们这篇文章主要还是说Squid正向代理科学上网。http://218.246.196.46:8080/articles/2017/08/05/1501865744310.html
Squid是很好的代理服务器,但它不能直接翻墙,因为在连接到Squid的过程中,就已经被墙了。所以得把传输的数据先进行加密再传输,这样等于是绕过了防火墙。这里使用的软件就是Stunnel。下面就是实施的过程以及在安装配置过程中可能遇到的问题和解决办法。https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
访问过程:
用户设置代理指向B服务器的Stunnel服务监听的端口,访问网站
B服务器的Stunnel会将信息做加密处理,然后发送到A服务器的Stunnel服务上
A服务器的Stunnel会将加密的信息做解密处理,然后发送给A服务器的Squid服务上
A服务器的Squid会向目标网站请求数据,然后将信息返回
来自:https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
正向代理与反向代理本质区别是不是就是在于
一个是用户主动的用代理去访问应用服务器
一个是代理服务器调用内部应用服务器
-----
1.什么是正向代理和正向代理服务器?
正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)
正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
2.什么是反向代理和反向代理服务器?
反向代理就是网站通过一台服务器发布到公网,供用户访问。用户直接访问那台反向代理服务器,然后通过那台服务器访问到网站。用户无法得到网站的真实IP地址。这样就保护了网站服务器,如果您有台服务器在国内又不想让人找到IP,就可以在国外搭建一台反向代理服务器。一个反向代理服务器将很多网站解析到同一 ip地址上。(通俗讲法)
技术讲法,普通的Web代理服务器是不支持外部对内部网络的访问请求的。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时的代理服务器称为反向代理服务器,对外表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。
Squid 反向代理的实现原理
目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。其他还包括Socks、Apache、Jigsaw、Delegate等。
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Squid 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。
客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
如图:
Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:
●Last-Modified: 告诉反向代理页面什么时间被修改
●Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
●Cache-Control: 告诉反向代理页面是否应该被缓冲
●Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache
更多来源:http://www.houkai.com/2009/09/20/reversed-proxy.html
Squid是很好的代理服务器,但它不能直接翻墙,因为在连接到Squid的过程中,就已经被墙了。所以得把传输的数据先进行加密再传输,这样等于是绕过了防火墙。这里使用的软件就是Stunnel。下面就是实施的过程以及在安装配置过程中可能遇到的问题和解决办法。https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
访问过程:
用户设置代理指向B服务器的Stunnel服务监听的端口,访问网站
B服务器的Stunnel会将信息做加密处理,然后发送到A服务器的Stunnel服务上
A服务器的Stunnel会将加密的信息做解密处理,然后发送给A服务器的Squid服务上
A服务器的Squid会向目标网站请求数据,然后将信息返回
来自:https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
正向代理与反向代理本质区别是不是就是在于
一个是用户主动的用代理去访问应用服务器
一个是代理服务器调用内部应用服务器
-----
1.什么是正向代理和正向代理服务器?
正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)
正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
2.什么是反向代理和反向代理服务器?
反向代理就是网站通过一台服务器发布到公网,供用户访问。用户直接访问那台反向代理服务器,然后通过那台服务器访问到网站。用户无法得到网站的真实IP地址。这样就保护了网站服务器,如果您有台服务器在国内又不想让人找到IP,就可以在国外搭建一台反向代理服务器。一个反向代理服务器将很多网站解析到同一 ip地址上。(通俗讲法)
技术讲法,普通的Web代理服务器是不支持外部对内部网络的访问请求的。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时的代理服务器称为反向代理服务器,对外表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。
Squid 反向代理的实现原理
目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。其他还包括Socks、Apache、Jigsaw、Delegate等。
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Squid 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。
客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
如图:
Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:
●Last-Modified: 告诉反向代理页面什么时间被修改
●Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
●Cache-Control: 告诉反向代理页面是否应该被缓冲
●Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache
更多来源:http://www.houkai.com/2009/09/20/reversed-proxy.html
Ubuntu适合个人用户,性能比CentOS差,CentOS,中规中矩,但是比较稳定,关键占用资源少啊阅读全文
前面说到我放弃IIS全面转向apache了,随后因为小丫头的出生,一直都比较忙,也没空仔细检查。这两天稍微闲了点,让我发现居然有两处乱码问题:一处是后台编辑文章处的“热门标签”,中文标签全部乱码;另一处则是安装的WP-RecentComments插件,在侧边栏首页显示正常,但一点下一页后就会变乱码了。
经过查询得知都是因为apache编码设置的问题,因为原本我服务器上的apache上运行的一套系统文件编码是gb2312,httpd.conf中设置AddDefaultCharset gb2312,从而导致wp中某些模块无法正常以utf-8编码解析。折腾了一下午,总算是解决了让apache同时支持GBK和UTF-8编码。
以下为具体解决方法:
1、httpd.conf中设置AddDefaultCharset off,并在原gb2312编码系统所设置的虚拟主机字段中加入AddDefaultCharset gb2312。
2、注释掉php.ini文件中的default_charset = “gb2312″
3、重启apache服务,搞定!
繁体的:
照著 Jedi 翻譯的 Moveable 安裝手冊,會幫您做好
UTF-8 編碼必備的設定及更新,進入管理模式及寫文章都正常,但是可能會發生發布出去的文章在瀏覽器上看變成亂碼的問題。
這時就是 Apache 的預設 Charset 要改為 utf-8 了,只要修改 httpd.conf 裡的:
AddDefaultCharset utf-8
如此所有的網頁都會以預設 UTF-8 來瀏灠,但是問題來了!
1.如果你的網站裡的其它網頁都是 big5 怎麼辦?
2.虛擬主機商也不可能為了你一個網站改他主機預設的 charset
這時只要設定 httpd.conf 中您發布文章的目錄設定即可:
<Directory "/var/www/html/mt">
AddDefaultCharset utf-8
</Directory>
若是您是虛擬主機,您也可以請您的主機商在 Directory 目錄比照做此設定:
<Directory "/home/yourname/public_html">
AddDefaultCharset utf-8
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
若是您的 public_html 內有其它 big5 的網站,就要請您的虛擬主機商另外再幫您的 Moveable 開一個 Directory 設定囉!
经过查询得知都是因为apache编码设置的问题,因为原本我服务器上的apache上运行的一套系统文件编码是gb2312,httpd.conf中设置AddDefaultCharset gb2312,从而导致wp中某些模块无法正常以utf-8编码解析。折腾了一下午,总算是解决了让apache同时支持GBK和UTF-8编码。
以下为具体解决方法:
1、httpd.conf中设置AddDefaultCharset off,并在原gb2312编码系统所设置的虚拟主机字段中加入AddDefaultCharset gb2312。
2、注释掉php.ini文件中的default_charset = “gb2312″
3、重启apache服务,搞定!
使用AddCharset变量将字符编码应用到指定后缀名的当前目录以及子目录的所有文件上。比如,为所有后缀名为.html的文件指定UTF-8字符编码,我们可以在.htaccess文件中加入一下代码:
AddCharset UTF-8 .html
后缀名可以是包括或者省略前面的”.”. 我们也可以在一行中同时指定多个后缀名。在一般情况下,最好将Apache的默认字符编码设置为UTF-8;
AddDefaultCharset utf-8
AddDefaultCharset可以为On/Off或者任何在IANA注册的,在MIME介质类型中使用的字符值。当且仅当响应的content-type是text/plain或text/html时,它会为介质类型字符参数指定默认的值。这个值会覆盖在响应中通过META指定的字符集,当然最后的行为还要取决于用户使用的客户端/游览器设置。当AddDefaultCharset为Off时,将关闭这个功能;设置为On时,将使用默认的字符集iso-8859-1;或为AddDefaultCharset指定可选的字符集比如UTF-8。
通过使用AddType也可以实现字符编码设置,这个参数会同时指定字符编码和MIME类型。
AddType 'text/html; charset=UTF-8' html
在Apache中,我们也可以为某一个特定的文件设置字符编码。比如,我们希望在一个文件夹中,只对文件example.html使用UTF-8,而其他文件仍然是用默认编码。我们可以编辑这个文件夹下的.htaccess文件,并添加如下内容:
<Files "example.html">
AddCharset UTF-8 .html
</Files>
通过以下配置,可以实现同样的效果:
<Files "example.html">
ForceType 'text/html; charset=UTF-8'
</Files>
我们也可以使用正则表达式为多个文件指定编码。例如:
<FilesMatch ".(htm|html|css|js)$">
AddCharset UTF-8 .html
</FilesMatch>
或
<FilesMatch ".(htm|html|css|js)$">
ForceType 'text/html; charset=UTF-8'
</FilesMatch>
注:需要注意的是配置参数的顺序对于结果起到重要的作用。比如在配置文件中有如下设置:
AddCharset UTF-8 .utf8
AddCharset windows-1252 .html
在这种配置下,文件example.utf8.html将使用windows-1252,而example.html.utf8将使用UTF-8字符编码;
AddCharset UTF-8 .html
后缀名可以是包括或者省略前面的”.”. 我们也可以在一行中同时指定多个后缀名。在一般情况下,最好将Apache的默认字符编码设置为UTF-8;
AddDefaultCharset utf-8
AddDefaultCharset可以为On/Off或者任何在IANA注册的,在MIME介质类型中使用的字符值。当且仅当响应的content-type是text/plain或text/html时,它会为介质类型字符参数指定默认的值。这个值会覆盖在响应中通过META指定的字符集,当然最后的行为还要取决于用户使用的客户端/游览器设置。当AddDefaultCharset为Off时,将关闭这个功能;设置为On时,将使用默认的字符集iso-8859-1;或为AddDefaultCharset指定可选的字符集比如UTF-8。
通过使用AddType也可以实现字符编码设置,这个参数会同时指定字符编码和MIME类型。
AddType 'text/html; charset=UTF-8' html
在Apache中,我们也可以为某一个特定的文件设置字符编码。比如,我们希望在一个文件夹中,只对文件example.html使用UTF-8,而其他文件仍然是用默认编码。我们可以编辑这个文件夹下的.htaccess文件,并添加如下内容:
<Files "example.html">
AddCharset UTF-8 .html
</Files>
通过以下配置,可以实现同样的效果:
<Files "example.html">
ForceType 'text/html; charset=UTF-8'
</Files>
我们也可以使用正则表达式为多个文件指定编码。例如:
<FilesMatch ".(htm|html|css|js)$">
AddCharset UTF-8 .html
</FilesMatch>
或
<FilesMatch ".(htm|html|css|js)$">
ForceType 'text/html; charset=UTF-8'
</FilesMatch>
注:需要注意的是配置参数的顺序对于结果起到重要的作用。比如在配置文件中有如下设置:
AddCharset UTF-8 .utf8
AddCharset windows-1252 .html
在这种配置下,文件example.utf8.html将使用windows-1252,而example.html.utf8将使用UTF-8字符编码;
繁体的:
照著 Jedi 翻譯的 Moveable 安裝手冊,會幫您做好
UTF-8 編碼必備的設定及更新,進入管理模式及寫文章都正常,但是可能會發生發布出去的文章在瀏覽器上看變成亂碼的問題。
這時就是 Apache 的預設 Charset 要改為 utf-8 了,只要修改 httpd.conf 裡的:
AddDefaultCharset utf-8
如此所有的網頁都會以預設 UTF-8 來瀏灠,但是問題來了!
1.如果你的網站裡的其它網頁都是 big5 怎麼辦?
2.虛擬主機商也不可能為了你一個網站改他主機預設的 charset
這時只要設定 httpd.conf 中您發布文章的目錄設定即可:
<Directory "/var/www/html/mt">
AddDefaultCharset utf-8
</Directory>
若是您是虛擬主機,您也可以請您的主機商在 Directory 目錄比照做此設定:
<Directory "/home/yourname/public_html">
AddDefaultCharset utf-8
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
若是您的 public_html 內有其它 big5 的網站,就要請您的虛擬主機商另外再幫您的 Moveable 開一個 Directory 設定囉!
用的Wind River System 公司的VxWorks实时操作系统
客机上的我不敢说,但是美国的f-16 航天飞机 空间探测器上用的一般都是vxworks操作系统 ,它的实时性非常好,授权费用也是非常昂贵的,广泛应用于嵌入式系统
linux的实时性也不错
-----------
主要采用UNIX,也有用Linux、WINDOWS的
windows别提了 飞机上用这东西 你就整天等着看新闻吧 ~~~~
用的Wind River System 公司的VxWorks实时操作系统
太贵 液压助力完全可以解决了 电传不光贵 技术是很重要 一套电传的一个伺服机构要有很多台计算机交替运算才能保证不出问题的 要有套很复杂的系统 用在车辆上没有必要
说到底就是成本问题
一套电传系统的价格已经远远超过一辆汽车。
就相当于报废的拖拉机上装个宝马的发动机
客机上的我不敢说,但是美国的f-16 航天飞机 空间探测器上用的一般都是vxworks操作系统 ,它的实时性非常好,授权费用也是非常昂贵的,广泛应用于嵌入式系统
linux的实时性也不错
-----------
主要采用UNIX,也有用Linux、WINDOWS的
windows别提了 飞机上用这东西 你就整天等着看新闻吧 ~~~~
用的Wind River System 公司的VxWorks实时操作系统
太贵 液压助力完全可以解决了 电传不光贵 技术是很重要 一套电传的一个伺服机构要有很多台计算机交替运算才能保证不出问题的 要有套很复杂的系统 用在车辆上没有必要
说到底就是成本问题
一套电传系统的价格已经远远超过一辆汽车。
就相当于报废的拖拉机上装个宝马的发动机