(转)OpenVPN使用HTTP代理连接服务器
原文地址:http://www.365mini.com/page/18.htm
在一些公司或者其他受限的网络环境中,使用的是HTTP代理服务器上网。在这种情况下,使用OpenVPN客户端可能无法连接服务器。此时,我们可以设置OpenVPN客户端以HTTP代理方式连接服务器。
OpenVPN支持三种认证模式使用HTTP代理连接:
- 不需要认证的HTTP代理。
- 基本认证的HTTP代理。
- 基于NTLM的HTTP代理(NTLM,NT LAN Manager的缩写,是Windows NT早期版本的标准安全协议)。
使用HTTP代理需要TCP协议的支持,因此你需要在OpenVPN服务器和客户端的配置文件中都设置TCP作为传输协议。如果你以前使用的是UDP协议,而不是TCP协议,你应该在配置文件中将其改为TCP协议。(服务器端配置文件路径为“安装目录\config\server.ovpn”,客户端配置文件路径为“安装目录\config\client.ovpn”)。

OpenVPN_HTTP_Proxy必须使用TCP协议
此外,你还需要进行以下额外的操作。
举个例子,如果你原来用来上网的HTTP代理服务器IP是192.168.5.1,代理端口是8080,那么你需要在OpenVPN客户端的配置文件中添加如下配置(根据情况选择其中的一条命令):
http-proxy 192.168.5.1 8080 #如果HTTP代理不需要用户名及密码认证 http-proxy 192.168.5.1 8080 stdin basic #如果HTTP代理需要基本认证 http-proxy 192.168.5.1 8080 stdin ntlm #如果HTTP代理需要NTLM认证
如果你使用的HTTP代理需要额外的认证(也就是上面三种情况的后面两种),在连接时,系统会弹出窗口并要求你输入对应的用户名/密码。如果你不喜欢每次连接都输入,你可以将用户名/密码存放在一个文件中,并用文件名替换掉上面命令语句中的stdin。注意:文件中的第一行存放用户名,第二行存放密码。(文件应和客户端配置文件存放在同一目录才能直接以文件名替代,即安装目录\config\
文件夹,否则可能需要输入相对路径或绝对路径)。
有些读者可能不清楚在哪里查看自己上网使用的HTTP代理IP地址和端口,你可以打开IE浏览器的【工具】-【Internet选项】菜单,按照如下图所示的方式查看自己的HTTP代理服务器的IP地址和端口:
此外,值得注意的是,一旦我们在OpenVPN客户端中设置了HTTP代理,那么浏览器本身的HTTP代理设置就应该去掉,否则我们连接OpenVPN服务器成功但可能无法通过IE浏览器访问OpenVPN服务器上的站点等资源 (去掉上图右侧【代理服务器】下面的复选框”为LAN使用代理服务器”即可)。
到这里,我们就可以使用OpenVPN客户端通过HTTP代理正常连接服务器了。
备注:部分读者按照上述配置正确完成操作后,仍然无法正常连接,并出现TLS ERROR的错误信息。这可能是HTTP代理服务器不允许客户端使用TLS协议通过当前端口连接OpenVPN服务器的缘故。 例如:你的OpenVPN服务器监听的端口为:80;你的HTTP代理服务器的IP地址为192.168.5.1,端口号为8080。此时,你可能无法正常连接OpenVPN服务器,你需要将OpenVPN服务器的监听端口改为443(TLS协议的默认端口)或其他受支持的端口(客户端的配置文件中的端口号也应该做相应修改)。
(转)OpenVPN使用HTTP代理连接服务器的更多相关文章
- linux使用http代理连接服务器设置方法
连接腾讯的额cvm服务器官方给出的也有个方法,详细可以看这里:http://wiki.open.qq.com/wiki/%E4%BB%8E%E6%9C%AC%E5%9C%B0linux%E6%9C%B ...
- Qt QTcpSocket 对连接服务器中断的不同情况进行判定
简述 对于一个C/S结构的程序,客户端有些时候需要实时得知与服务器的连接状态.而对于客户端与服务器断开连接的因素很多,现在就目前遇到的情况进行一下总结. 分为下面六种不同情况 客户端网线断开 客户端网 ...
- QTcpSocket 对连接服务器中断的不同情况进行判定(六种情况,其中一种使用IsNetworkAlive API方法)
简述 对于一个C/S结构的程序,客户端有些时候需要实时得知与服务器的连接状态.而对于客户端与服务器断开连接的因素很多,现在就目前遇到的情况进行一下总结. 分为下面六种不同情况 客户端网线断开 客户端网 ...
- 项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题
一.xftp无法连接服务器 在xftp中配置正确的ip,用户名和密码后,居然无法连接 解决方案:将协议里面的FTP换成SFTP,注意换成SFTP后端口就默认换成22,要还是原来的21就还是连不上的哈 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。
上篇:ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取) 上一篇我们已经完成了初步界面的搭建工作,本篇将介绍IM的核心内容 ...
- 第十二篇 SQL Server代理多服务器管理
本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...
- 关于SQL2008R2连接服务器出错问题
在安装SQL2008R2后,在公司里用VS2013测试可以连接,可是回到寝室却出了问题,当打开SSMS连接服务器的时候会提示: “在与SQL Server建立连接时出现与网络相关的或特定于实例的错误. ...
- nginx反向代理-后端服务器组设置
nginx服务器的反向代理时其最常用的重要功能之一,在实际工作中应用广泛,涉及的配置指令也比较多.下面会尽量详细地介绍对应的指令,及其使用状态. 反向代理一般是互联网需要向内网拉取资源,比如访问一个w ...
- 【译】第十二篇 SQL Server代理多服务器管理
本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作 ...
随机推荐
- HTML页面的导出,包括Excel和Word导出
//导出到Excel --- 全部导出,可以设置一些隐藏进行导出 protected void btnExport_Click(object sender, EventArgs e) { ...
- 存储过程中“Select Top 变量”的问题如何解决
在SqlServer2005中,可以这样: DECLARE @p int SELECT TOP (@p) * FROM 表名 在SqlServer2000中,不支持以上方法,可以这样: DECLARE ...
- 【 D3.js 进阶系列 — 6.2 】 饼状图的拖拽
本文讲解稍微复杂一些的拖拽应用,即拖拽饼图的各部分. 在[入门 - 第 9.1 章]讲解了如何制作饼状图.饼状图的各部分是用具有宽度的弧线来表示的.在与用户进行交互的时候,如果每一部分都能拖拽,是很有 ...
- 【转】Android source build/envsetup.sh学习笔记
原文网址:http://blog.csdn.net/mliubing2532/article/details/7567164 如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最后等待很 ...
- 期待已久的2012年度最佳jQuery插件揭晓
近日,国外著名博客WDL发布了2012年度最佳 jQuery 插件.jQuery 自2006年发布以来,经过6年的迅速发展,目前已是最流行和使用最广泛的 JavaScript 框架,这主要归功于众多围 ...
- SVN安装详解
(一)安装服务器端1. 先安装VisualSVN-Server-2.6.0.msi 2.点击Next SVN服务端已经安装好了 选中Repositores --->选中“新建”---->点 ...
- Html笔记(十)XHTML XML
XHTML 是可扩展的超文本标记语言(Extensible HyperText Markup Language). XHTML 是 w3c 组织在2000年的时候为了增强HTML推出的,本来是想替代H ...
- 一个free的问题
请看下面的代码: #include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<sy ...
- Pascal's Triangle II
1.题目描述 Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Re ...
- HW2.4
import java.util.Scanner; public class Solution { public static void main(String[] args) { final dou ...