鱿鱼配置

鱿鱼配置

我有一个 VPS。如何通过 HTTPS 协议连接到我的服务器并将浏览器连接重定向到 HTTPS 连接?

目前我使用 SSH 隧道,但速度太慢。

答案1

我使用 Squid 作为代理服务器隧道作为 SSL 包装器。由于缓存,它具有非常好的性能。

鱿鱼配置

安装Squid后,请执行以下操作鱿鱼文档并配置它。这是示例配置:

http_port 3193 透明

缓存目录 ufs /var/cache/squid 128 16 128
缓存内存 1 MB
内存中最大对象大小 512 KB
最大对象大小 1 MB

visible_hostname 主机名.com

hierarchy_stoplist cgi-bin ?
刷新模式 ^ftp:1440 20% 10080
刷新模式 ^gopher: 1440 0% 1440
刷新模式 -i (/cgi-bin/|\?) 0 0% 0
刷新模式。 0 20% 4320

acl管理器原型cache_object
acl 本地主机 src 127.0.0.1/32::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 10.0.0.0/8 # RFC 1918 可能的内部网络
acl localnet src 172.16.0.0/12 # RFC 1918 可能的内部网络
acl localnet src 192.168.0.0/16 # RFC 1918可能的内部网络
acl localnet src fc00::/7 # RFC 4193 本地专用网络范围
acl localnet src fe80::/10 # RFC 4291 链路本地(直接插入)机器

acl SSL_ports 端口 443
acl Safe_ports 端口 80 # http
acl Safe_ports 端口 21 # ftp
acl Safe_ports 端口 443 # https
acl Safe_ports 端口 70 # gopher
acl Safe_ports 端口 210 # wais
acl Safe_ports port 1025-65535 # 未注册的端口
acl Safe_ports 端口 280 # http-mgmt
acl Safe_ports 端口 488 # gss-http
acl Safe_ports 端口 591 # filemaker
acl Safe_ports 端口 777 # 多路 http
acl CONNECT 方法 CONNECT

auth_param 基本程序 /usr/libexec/squid/pam_auth
auth_param 基本子项 5
auth_param 基本领域 Squidy
auth_param 基本凭证 4 小时

acl 密码 proxy_auth 必需

http_access 允许管理器
http_access 拒绝!Safe_ports
http_access 拒绝 CONNECT !SSL_ports
http_access 允许密码
http_access 允许本地主机
http_access 允许本地网络
http_access 拒绝所有

通过关闭
转发_关闭

request_header_access 允许 允许所有
request_header_access 授权允许所有
request_header_access WWW-Authenticate 允许所有
request_header_access 代理授权允许所有
request_header_access 代理认证允许所有
request_header_access 缓存控制允许所有
request_header_access 内容编码允许所有
request_header_access 内容长度允许所有
request_header_access 内容类型允许所有
request_header_access 日期允许所有
request_header_access 过期允许所有
request_header_access 主机允许所有
request_header_access If-Modified-Since 允许所有
request_header_access Last-Modified 允许所有
request_header_access 位置允许所有
request_header_access Pragma 允许所有
request_header_access 接受允许所有
request_header_access 接受字符集允许所有
request_header_access 接受编码允许所有
request_header_access 接受语言允许所有
request_header_access 内容语言允许所有
request_header_access Mime 版本允许所有
request_header_access 重试-允许所有之后
request_header_access 标题允许所有
request_header_access 连接允许所有
request_header_access 代理连接允许所有
request_header_access 用户代理允许所有
request_header_access Cookie 允许所有
request_header_access 全部拒绝全部

它监听端口3193 tcp。然后是缓存选项,一些 acl 命令和auth_paramPAM 身份验证(您可能不希望打开代理并因垃圾邮件报告而丢失 VPS)。request_header_access不需要线路。他们为您提供更好的匿名性。

Stunnel服务器配置

在服务器上安装 stunnel。这是示例配置:

setuid = 隧道
setgid = 隧道

CAfile = /etc/stunnel/certs.pem
CRL文件 = /etc/stunnel/crls.pem

[代理人]
接受=8888
连接=127.0.0.1:3193

可能是在 stunnel 安装时制作的认证文件。检查 中的文件路径CAfile。它只是监听端口8888 tcp并将解密的流重定向到 Squid。因此,请确保它是可访问的:

iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT

您不再需要使鱿鱼侦听端口成为世界范围内可达的。

Stunnel 客户端配置

在本地计算机上安装 stunnel 并根据需要更改此配置:

setuid = 隧道
setgid = 隧道
pid = /var/run/stunnel/stunnel.pid

[环氧]
接受=8123
连接=服务器IP:8888
客户 = 是
libwrap = 否

将 server_ip 替换为适当的值。然后在服务器上启动Squid并在客户端和服务器上启动Stunnel。像localhost:8123在浏览器中一样设置代理。如果一切正常,系统必须提示您输入用户名和密码。

答案2

https服务器是apache吗?我不完全理解你的情况,但如果你有 mod_proxy,你也许可以做你想做的事。

答案3

我从未在虚拟主机上设置过任何东西,但这里有一些关于通用 HTTPS 的信息:

HTTPS 使用 HTTP 和 SSL 的组合(请参阅此处的维基百科文章:http://en.wikipedia.org/wiki/HTTP_Secure)。 HTTPS 本身并不是真正的协议,而是在 SSL 隧道上运行的普通 HTTP。

HTTPS 使用 CA(证书颁发机构)和 PKI(公钥基础设施)来确保用户可以“信任”该站点。您必须为 Web 服务器创建一个公钥证书,并且该证书必须由受信任的 CA(例如 VeriSign)签名。要获得受信任的证书,您可能需要支付年费来维护。

如果您没有通过受信任的 CA,用户在尝试连接到您的网站时会收到警告。这通常会导致用户离开您的网站,因为他们可能认为这是一个安全风险。

另外,请记住,虽然 HTTP 默认使用端口 80,但 HTTPS 使用 443,因此如果您有任何端口转发/端口阻止,则必须确保该端口可供您连接。要使用 HTTPS,您还必须确保在导航到站点时将其键入 URL,否则它可能会默认使用 HTTP。

编辑:这里很好地介绍了 HTTPS 如何运行: http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html

答案4

我的水晶球说你应该看看http://www.stunnel.org/static/stunnel.html

万一球错了,也无所谓。

相关内容