由于ProxyError,无法从Centos7连接到WindowsServer

时间:2017-08-16 14:19:51

标签: windows ansible

我正在尝试从我的ansible服务器(Centos7)连接到Windows Server 2012。

我们假设它的主机是x,端口是y
我设法连接到其他基于Linux的服务器,但我无法连接到Windows。

我跟着the tutorial here,在完成所有设置和配置后,我收到以下错误:

root@localhost: ansible# ansible windows -i hosts -m win_ping --ask-vault-pass
Vault password:
WindowsServer | UNREACHABLE! => {
    "changed": false,
    "msg": "ssl: HTTPSConnectionPool(host='x', port=y): Max retries exceeded with url: /wsman (Caused by ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 403 Forbidden',)))",

这是我的group_vars / windows.yml文件:

# it is suggested that these be encrypted with ansible-vault:
# ansible-vault edit group_vars/windows.yml

ansible_user: Administrator
ansible_password: password
ansible_port: y
ansible_connection: winrm

这是我的主机文件摘要:

[windows]
WindowsServer ansible_host=x

我确实配置了Windows服务器with this file

请帮忙,我不知道如何使连接正常工作。

1 个答案:

答案 0 :(得分:1)

正如来自ansible google小组的J和Mike建议:
出现错误的原因是环境变量HTTP_PROXY和HTTPS_PROXY,它们是从系统中使用的。

要让ansible知道您正在使用代理,您必须:
1。找到pywinrm附带的transport.py
2.修改以下行session.trust_env使其成为假。

125         # configure proxies from HTTP/HTTPS_PROXY envvars
126 #        session.trust_env = True
127         session.trust_env = False

3。 pywinrm将不再检查您的本地env是否有代理。

之后我还需要在group_vars / windows.yml文件中再添加一个变量:

ansible_winrm_server_cert_validation: ignore