Er is een poging gedaan om toegang te krijgen tot een socket op een manier die is verboden door de toegangsmachtigingen

Ik heb een website over Hostgator en een dedicated server van mijn eigen running SQL Server 2008R2.
De verbindingsreeks die ik gebruik is x.x.x.x, 1433, welke wijst op het IP-adres van mijn dedicated server.
Ik heb de firewall-instellingen op mijn server gemaakt, zodat ik SSMS & AMP kan gebruiken; Log in op SQL Server van mijn thuis-pc.

Dat heb gedaan, had ik de indruk dat het verbinden met SQL van mijn gastheer-site prima zou werken.
Ik ontvang de volgende foutmelding:

Er is een netwerkgerelateerde of instruth-specifieke fout opgetreden bij het vaststellen van een
Aansluiting op SQL Server. De server is niet gevonden of was niet toegankelijk.
Controleer of de instantienaam correct is en dat SQL Server is geconfigureerd om
Sta externe verbindingen toe. (Provider: TCP-provider, Fout: 0 – Een poging was
gemaakt om toegang te krijgen tot een socket op een manier die door zijn toegangsmachtigingen is verboden.)

Ik heb deze fout opgetreden en vond veel uitleg, maar niet één omgaan met mijn omstandigheden.
Mijn server draait Windows 2008 W / IIS 7.5. Ik was verzekerd door Hostgator Tech Support dat er geen problemen zouden zijn van hun einde.]]

Mijn firewall maakt TCP-poort 1433, & amp toe; De UDP-poort 1434 voor de SQL Server-browser-service.

Omdat ik een dedicated server heb, heb ik niemand om deze vraag te stellen aan mijn hostingbedrijf.


Antwoord 1, Autoriteit 100%

Ik had een soortgelijk probleem met Docker voor Windows en Hyper-V met gereserveerde havens voor zijn eigen gebruik – in mijn geval, het was poort 3001die niet toegankelijk is.

  • De poort werd niet gebruikt door een andere process- draaiende netstat -ano | findstr 3001In een Administrator PowerShell Prompt toonde niets.
  • De netsh interface ipv4 show excludedportrange protocol=tcptoonde echter aan dat de poort zich in een van de uitsluitingsbereiken bevond.

Ik heb de oplossing kunnen volgen die wordt beschreven in Docker voor Windows-probleem #3171 (Kan niet bind-poorten: Docker-for-Windows & Hyper-V met uitzondering van maar niet met belangrijke poortbereiken):

  1. Hyper-V uitschakelen:

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
    
  2. Na de vereiste herstart reserveert u de gewenste poort zodat Hyper-V deze niet terug reserveert:

    netsh int ipv4 add excludedportrange protocol=tcp startport=3001 numberofports=1
    
  3. Hyper-V opnieuw inschakelen:

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
    

Hierna kon ik mijn docker-container starten.


Antwoord 2, autoriteit 38%

Volgens deze link:

het symptoom kan optreden als de replicatieservice de poorten probeert te gebruiken die door anderen worden ingenomen, of door een defecte NIC. Probeer de volgende stappen:

  1. Herstart de Windows Firewall-service
  2. Herstart de problematische machine
  3. Herstart de “TCP/IP-stack”. Voer CMD uit als beheerder, typ “netsh int ip reset resetlog.txt” om TCP/IP opnieuw in te stellen.
  4. Probeer antivirus tijdelijk uit te schakelen.

Antwoord 3, autoriteit 17%

Het is niet verrassend dat deze fout kan optreden wanneer een ander proces op de gewenste poort luistert. Dit gebeurde vandaag toen ik een instantie van de Apache-webserver startte, luisterend op de standaardpoort (80), vergetend dat IIS 7 al actief was en op die poort luisterde. Dit wordt goed uitgelegd in Poort 80 wordt gebruikt door SYSTEM (PID 4), wat is dat?Beter nog, dat artikel verwijst naar Stop http.sys met luisteren op poort 80 in Windows, wat een zeer eenvoudige manier om het op te lossen, met slechts een beetje hulp van een verhoogde opdrachtprompt en een éénregelige bewerking van mijn hosts-bestand.


Antwoord 4, autoriteit 12%

Gewoon Restart-Service hnskan de poortgebruiker wijzigen door Hyper-V. Het kan de poort vrijgeven die je nodig hebt.


Antwoord 5, autoriteit 6%

Mijn Windows-firewall blokkeerde poort 8080, dus ik heb het gewijzigd in 5000 en het werkte!


Antwoord 6, autoriteit 4%

Volgens https://stackoverflow.com/a/33859341/446250, is het delen van internetverbinding ingeschakeld voor mijn ethernet-adapter veroorzaakte dit probleem voor mij. Het uitschakelen van het delen loste het probleem op


Antwoord 7

Als u op afstand toegang wilt krijgen tot de SQL-server op hostgator via SSMS, moet u uw IP-adres in hostgator op de witte lijst zetten.
Gewoonlijk duurt het 1 uur om de poort te openen voor het IP op de witte lijst


Antwoord 8

Mijn situatie en oplossing: ik had een HyperV-ethernetadapter gemaakt en ingeschakeld. Om de een of andere reden gebruikte mijn Windows-hoofdcomputer de “virtuele” ethernetadapter in plaats van de ‘hardware’-adapter.

Ik heb het virtuele ethernet uitgeschakeld en mijn netwerkinstellingen om de openbare/privacy-instellingen van het netwerk te wijzigen, zijn onthuld.


Antwoord 9

Voor anderen die deze foutmelding krijgen maar een iets andere oorzaak hebben, kun je het volgende doen om het probleem op te lossen. Open een teksteditor door met de rechtermuisknop te klikken en Uitvoeren als beheerder te kiezen. Open C:\Program Files\pgAdmin 4\v4\web\pgAdmin4.py en voeg één regel code toe zonder iets anders. De output zal drastisch anders en nuttig zijn. U kunt de fout vinden in het systeemvak > pgAdmin > Logboek bekijken.

import traceback # <--- add this line too.
try:
    app.run(
        host=config.DEFAULT_SERVER,
        port=config.EFFECTIVE_SERVER_PORT,
        use_reloader=(
            (not app.PGADMIN_RUNTIME) and app.debug and
            os.environ.get("WERKZEUG_RUN_MAIN") is not None
        ),
        threaded=config.THREADED_MODE
    )
except IOError:
    #app.logger.error("Error starting the app server: %s", sys.exc_info())
    app.logger.error("Error starting the app server: %s", traceback.format_exc()) # <--- add this line!  

In plaats van dit:

ERROR flask.app: Error starting the app server: (<class 'OSError'>, OSError(10013, 'An attempt was made to access a socket in a way forbidden by its access permissions', None, 10013, None),

Je krijgt dit:

2021-03-01 11:38:33,817: ERROR  flask.app:  Error starting the app server: (<class 'OSError'>, OSError(10013, 'An attempt was made to access a socket in a way forbidden by its access permissions', None, 10013, None), <traceback object at 0x00000279EF74A3C0>)
Traceback (most recent call last):
  File "C:/Program Files/pgAdmin 4/v4/web/pgAdmin4.py", line 210, in main
    app.run(
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\flask\app.py", line 943, in run
    run_simple(host, port, self, **options)
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 1052, in run_simple
    inner()
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 996, in inner
    srv = make_server(
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 847, in make_server
    return ThreadedWSGIServer(
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 740, in __init__
    HTTPServer.__init__(self, server_address, handler)
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib\socketserver.py", line 452, in __init__
    self.server_bind()
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib\http\server.py", line 138, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib\socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

Antwoord 10

Ik heb een identiek foutbericht op een lokale instantie van Analysis Services kunnen oplossen door loopback-adresfiltering in de firewall uit te schakelen.

Other episodes